1 名前:デフォルトの名無しさん mailto:sage [2024/06/29(土) 19:18:41.95 ID:NohAfdfx0.net] !extend:checked:vvvvv:1000:512 !extend:checked:vvvvv:1000:512 !extend:checked:vvvvv:1000:512 ■Visual Studio 2022 Community(無償の統合開発環境)等はこちら www.visualstudio.com/downloads/ ■コードを貼る場合はこちら ideone.com/ ■前スレ C#, C♯, C#相談室 Part97 https://mevius.5ch.net/test/read.cgi/tech/1671585518/ ■次スレは>>970 が建てる事。 建てられない場合は他を指定する事。 VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
309 名前:デフォルトの名無しさん mailto:sage [2025/01/01(水) 16:23:43.79 ID:nGCOTvnw0.net] 確かにジェネリクスでstruct制約付けたらボックス化回避できそう ありがとう public TEnum ConvertToEnum<TStruct, TEnum>(TStruct value) where TStruct : struct where TEnum : Enum { if (!Enum.IsDefined(typeof(TEnum), value)) throw new ArgumentException(); return Unsafe.As<TStruct, TEnum>(ref value); }
310 名前:デフォルトの名無しさん [2025/01/01(水) 22:57:38.89 ID:tBHA6FMH0.net] JetbrainsやILSpyでIL見てboxあるかどうかみればいいんじゃね
311 名前:デフォルトの名無しさん mailto:sage [2025/01/31(金) 11:32:40.83 ID:jXb+sjQI0.net] ハック的なことなんだけどインスタンスのオブジェクトヘッダに埋め込まれるクラスハンドルへのポインタ?をインスタンス無しで得る方法って無いかな typeof(MyClass)ってすると正にそのポインタが「mov rcx, 7FFB716DE758 -> call clrのtype取得関数」って感じのアセンブラが生成される訳だけど、その7FFB716DE758を得たいんだよね インスタンスがあればUnsafeライブラリ用いて簡単に得られるのだけど
312 名前:デフォルトの名無しさん mailto:sage [2025/01/31(金) 11:34:05.08 ID:jXb+sjQI0.net] 文章修正してたら日本語おかしくなったけどもし知ってる方いたらヒントでも何でも教えていただきたい
313 名前:デフォルトの名無しさん mailto:sage [2025/01/31(金) 12:00:57.31 ID:ejyfLYzx0.net] GetTypeで得られるものとは違うわけ?
314 名前:デフォルトの名無しさん mailto:sage [2025/01/31(金) 12:51:25.22 ID:jXb+sjQI0.net] >>313 GetTypeやtypeofで得られるものはあくまでもType型のマネージドインスタンスだから全く違う だけど逆アセをするとtypeof()時には即値でハンドルへのポインタ?がアセンブラコードとして埋め込まれてるので内部的にはめちゃくちゃ簡単に得る方法があるはずなんだよね
315 名前:デフォルトの名無しさん mailto:sage [2025/01/31(金) 14:52:24.28 ID:jXb+sjQI0.net] 一応自己解決だけどGetTypeやtypeofで得られたTypeインスタンスから「type.TypeHandle.Value」で希望のものは得られた 本来即値で得られるはずなのに冗長でもやもやはするが
316 名前:デフォルトの名無しさん mailto:sage [2025/01/31(金) 15:09:15.71 ID:gpRv5mHv0.net] ChatGPTに聞いたら同じ答えが返ってきたけどRuntimeTypeHandle.Valueは環境によってメソッドテーブルへのポインタじゃなくEETypeへのポインタや実装依存のメタデータへのポインタになる場合もあるから自分で確認しろよとのこと
317 名前:デフォルトの名無しさん mailto:sage [2025/02/01(土) 06:49:44.36 ID:LNgv56j/0.net] そらJITなんだから・・・
318 名前:デフォルトの名無しさん mailto:sage [2025/02/01(土) 10:13:37.11 ID:m26c//aC0.net] いやJITは関係ないぞ
319 名前:デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) mailto:sage [2025/02/01(土) 11:06:41.29 ID:dQW8A9nv0.net] JITだろうが何だろうがconst intなんかは即値で埋め込まれるしね だからクラス名.TypeHandleValueみたいなconst持っててくれたら嬉しいんだけど需要ほぼゼロすぎるか
320 名前:デフォルトの名無しさん (ワッチョイ 1a9d-natb) mailto:sage [2025/02/01(土) 12:12:47.05 ID:m26c//aC0.net] ん?即値で得られない理由の話だったか そっちならJIT関係あるわな
321 名前:デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) mailto:sage [2025/02/01(土) 12:17:46.65 ID:dQW8A9nv0.net] いや関係ないよ なぜなら逆アセすれば分かるけど思いっきりレジスタ長以下のconst同様の挙動を見せてるからね typeof時にね
322 名前:デフォルトの名無しさん mailto:sage [2025/02/01(土) 12:48:59.04 ID:MtSj47O+0.net] 逆アセw
323 名前:デフォルトの名無しさん mailto:sage [2025/02/01(土) 12:53:04.51 ID:LNgv56j/0.net] アドレスとかプロセス起動のたびに変わることは無いんだっけ?
324 名前:デフォルトの名無しさん mailto:sage [2025/02/01(土) 12:59:03.20 ID:dQW8A9nv0.net] >>323 .NETの場合は当然変わるしネイティブでも設定次第では変わり得る でもそもそもC#やJavaは実行時にその都度機械語を組み立てて行く訳だから、であればその都度埋め込めばいいだけの話
325 名前:デフォルトの名無しさん mailto:sage [2025/02/01(土) 13:11:42.17 ID:LNgv56j/0.net] なら結局、ユーザークラスじゃ都度変わりうるってことじゃ?
326 名前:デフォルトの名無しさん mailto:sage [2025/02/01(土) 15:14:32.83 ID:XDtywhx90.net] >>321 それはJITやAOT後のものを見てるからでしょ JIT/AOT時に異なる相対アドレスに配置できる余地を残すためにC#/ILの段階では固定しない
327 名前:デフォルトの名無しさん mailto:sage [2025/02/02(日) 01:00:15.78 ID:U03i5Xdj0.net] ILの段階で定数になるなら決め撃ちで問題ないだろ
328 名前:デフォルトの名無しさん (ワッチョイ 7f10-cJwu) mailto:sage [2025/02/02(日) 06:57:31.12 ID:VLFyjNJe0.net] ユーザークラスがILの段階で決め打ちになるわけないだろ
329 名前:デフォルトの名無しさん mailto:sage [2025/02/02(日) 10:55:04.54 ID:NGhOMzti0.net] ユーザークラスだろうが何だろうが別に関係ないし IL段階で定数になる必要もなくて事実として実行時に機械語になるタイミングで定数化されるんだよ プログラマがその定数にアクセスする手段がないだけで
330 名前:デフォルトの名無しさん mailto:sage [2025/02/02(日) 11:18:20.90 ID:RNSPFW0b0.net] 実行時にならんと決まらんものは定数じゃねぇ
331 名前:デフォルトの名無しさん mailto:sage [2025/02/02(日) 12:43:09.18 ID:NGhOMzti0.net] 定数ってか再三言ってるけど即値だな
332 名前:デフォルトの名無しさん mailto:sage [2025/02/03(月) 22:15:38.62 ID:EtXs2rHFM.net] インスタンスの型の厳密なチェック typeof (X) == x.GetType() やジェネリック型のチェック typeof (T) == typeof (X) はJITで最適化されるから、 質問者のケースがもしこれらに該当するなら変なハックは必要ない
333 名前:デフォルトの名無しさん mailto:sage [2025/04/14(月) 17:39:25.74 ID:XKwEHxpo0.net] Task<T>を返す非同期メソッドをUIスレッドで呼び出して結果を取得したいのですがどうすればいいのでしょうか? ConfigureAwait(false)の後やTask.Runでスレッドプール上?で実行されてる コード内からメソッドをUIスレッドで呼んで結果を取得したいのです
334 名前:デフォルトの名無しさん mailto:sage [2025/04/16(水) 05:53:28.46 ID:HaWtxdw70.net] イマイチ質問が把握できないがこういうことか? UIスレッドでTaskScheduler.FromCurrentSynchronizationContext();してTaskSchedulerを確保しておく UIスレッドで実行したいメソッドは上記TaskSchedulerを使ってStartするTaskとして実行する public Form1() { this.Button1.Click += ExecuteAsync; } async void ExecuteAsync(object? sender, EventArgs e) { var scheduler = TaskScheduler.FromCurrentSynchronizationContext(); await Task.Run(async () => { using var logger = new Logger("Task"); var task = Task.Factory.StartNew<Task>(() => SetTextAsync(), CancellationToken.None, CreationOptions.None, scheduler); await task; await task.Result; }); } async Task SetTextAsync() { await Task.Delay(1000); this.Text = DateTime.Now.ToString("HH:mm:ss"); }
335 名前:デフォルトの名無しさん mailto:sage [2025/04/16(水) 05:58:12.67 ID:HaWtxdw70.net] あ、TaskCreationOptionsのTaskが抜けてる… async Task SetTextAsync()の代わりにasync Task<string> GetTextAsync()だったら StartNew<Task<string>>にしてvar text = await task.Resultすればいい
336 名前:デフォルトの名無しさん mailto:sage [2025/04/16(水) 07:31:16.54 ID:QZV5gxIh0.net] ああ、ありがとうごいます それっぽいです 要はスレッドプールなどで実行されてるメソッドから 途中でダイアログなどを出してユーザのアクションの結果で更に処理を 進めるかキャンセルするかを決定したかったにです 同期コンテキストは調べたのですがこのPostなんたらじゃできないなと.. TaskSchedulerの方から攻めるのですね ありがとうございます
337 名前:デフォルトの名無しさん mailto:sage [2025/04/16(水) 07:41:21.34 ID:QZV5gxIh0.net] ボタンなど押して非同期メソッドを呼び出す この時、非同期メソッドには介入が必要な時に呼び出される非同期コールバックを渡せるようにする 呼び出し側で、非同期コールバックとして ダイアログなどをだしたりする ダイアログの表示などはUIスレッド実行したかった こんな感じでした
338 名前:デフォルトの名無しさん mailto:sage [2025/04/16(水) 15:31:47.59 ID:yzNZC+ym0.net] BOOL TestFunc(DWORD dwType, LPBYTE pBuffer, LPDWORD pcbBufSize); dwType:欲しいデータのタイプコード pBuffer:要求したデータを入れるバッファへのポインタ pcbBufSize:pBufferが指すバッファのサイズ 例えば↑のような関数をエクスポートしてるアンマネージDLLがあって DllImportする時のプロトタイプ宣言ってどう書いたらいいんでしょ?
339 名前:デフォルトの名無しさん mailto:sage [2025/04/16(水) 15:33:52.84 ID:yzNZC+ym0.net] LPDWORDはref uintでいいのかなと思うけど LPBYTEとか、それこそLPVOIDだのハンドル系受け取る引数なんかはどう宣言したものかよく解らなくて
340 名前:デフォルトの名無しさん mailto:sage [2025/04/16(水) 19:05:55.86 ID:HaWtxdw70.net] 典型的にはこう bool TestFunc(uint dwType, byte[] pBuffer, out uint pcbBufSize); ref/outで宣言すると使いやすいけどNULLを渡せなくなるってのが問題になったりすることもある ケースバイケースなので一概には言えない ポインタが絡むなら誰がメモリ確保して誰がどうやって解放するのかを把握してないといけない場合もある
341 名前:デフォルトの名無しさん mailto:sage [2025/04/16(水) 19:58:01.06 ID:VD2CYluqM.net] 第三引数は普通はoutじゃないきがするけど
342 名前:デフォルトの名無しさん mailto:sage [2025/04/16(水) 20:27:15.14 ID:qW3EbLcWM.net] outだと呼び出し元からバッファサイズを渡せないな
343 名前:デフォルトの名無しさん mailto:sage [2025/04/16(水) 20:47:35.76 ID:JiAmFx7+0.net] refじゃあかんの?
344 名前:デフォルトの名無しさん mailto:sage [2025/04/16(水) 20:48:46.57 ID:yzNZC+ym0.net] >>340 おぉ、ありがとう ちょっとそれ元に弄ってみるます
345 名前:デフォルトの名無しさん [2025/04/20(日) 10:42:31.48 ID:T4EZ0xEH0.net] refとかout使うと機械語的にはゴミラッパーが生成される ついでにboolも実はネイティブ型ではないので同様にゴミが生成される 多少可読性や安全性を犠牲にして良いなら int TestFunc(uint dwType, byte* pBuffer, uint* pcbBufSize)とすればC/C++と遜色ない機械語になる 戻り値はintなので != 0としてbool判定をする手間がかかるけどね ついでに.NETCore系統で且つ内部でIOなどを行わずに計算量が少なく割とすぐ戻る事が確定している場合は[DllImport("native.dll"), SuppressGCTransition]とすると尚良し
346 名前:デフォルトの名無しさん [2025/04/20(日) 10:47:34.35 ID:T4EZ0xEH0.net] もしネイティブ側の戻り値がBOOLではなくboolならC#側はbyteにすればいい boolって実は結構罠だからな
347 名前:デフォルトの名無しさん mailto:sage [2025/04/21(月) 11:37:03.90 ID:ed9AfVbw0.net] CharGPTの回答 WinAPI型名 意味 C# 対応型 備考・使い方例 BYTE 8ビット符号なし整数 byte 0〜255 WORD 16ビット符号なし整数 ushort 0〜65535 DWORD 32ビット符号なし整数 uint よく使われる LONG 32ビット符号付き整数 int 一部APIでは戻り値で使用 ULONG 32ビット符号なし整数 uint DWORDと同義扱いされることあり BOOL 論理値(実際はint型) bool または int C#では [MarshalAs(UnmanagedType.Bool)] を使うと便利 LPSTR ANSI文字列へのポインタ string (MarshalAs(UnmanagedType.LPStr)) LPCWSTR Unicode文字列定数へのポインタ string (MarshalAs(UnmanagedType.LPWStr)) 通常はこれを使う LPBYTE BYTEへのポインタ IntPtr / byte[] / byte* C#で配列やポインタとして使う LPDWORD DWORDへのポインタ ref uint / out uint / IntPtr APIによって使い分け HANDLE 汎用ハンドル IntPtr ハンドルは全部 IntPtr PVOID/LPVOID 任意のポインタ IntPtr Voidポインタの表現 CHAR 1バイト文字 byte(ANSI)/ char(Unicode) ANSI文字列なら byte TCHAR Unicode/ANSI切り替え可能文字型 char または string Unicode前提なら char/string
348 名前:デフォルトの名無しさん mailto:sage [2025/04/21(月) 14:43:06.51 ID:AUqiwuPT0.net] 何のためのVOIDポインタかで変わるしIntPtrで良いもんでもないわ まぁなんだ、CharGPTなんて言うアホは黙っとけw
349 名前:デフォルトの名無しさん [2025/04/22(火) 19:34:21.37 ID:rMo0RJWh0.net] Copilot「僕の出番ですね!」
350 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 08:49:37.84 ID:eLYGqJZZ0.net] 去ね
351 名前:デフォルトの名無しさん [2025/04/23(水) 12:17:26.63 ID:snQ3Sxp8d.net] wchar : 「神は我を見放したのか」
352 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 20:01:13.83 ID:WPvg2tW3M.net] >>347 ChatGPTはc#弱いな
353 名前: mailto:sage [2025/04/24(木) 01:47:59.03 ID:MPcZRdS90.net] >>345 最近のC#はMIL(IL?)でなくマシン語を直接()生成するようになったのですか
354 名前:デフォルトの名無しさん [2025/04/24(木) 21:13:01.92 ID:985jarF60.net] >>353 最近は native AOT といってそういうことができる リフレクションが使えないなど制限もあるけど 元のレス先の345は、たぶん native AOT とか関係なく、中間言語が生成するコードも指して機械語と言ってると思う
355 名前: mailto:sage [2025/04/24(木) 21:27:22.97 ID:WNuC4TAo0.net] >>354 なるほど、ありがとうございました!!
356 名前:デフォルトの名無しさん [2025/04/25(金) 11:23:25.63 ID:reKQm/Xa0.net] >>354 ILの話はしてない nativeAOT及びJITが最終的に生成するアセンブラを指して言ってる パフォーマンス目的でC/C++と連携しようとすると返ってパフォーマンス落ちる事も多いからな 機械生成のゴミラッパーが挟まると呼び出しコストがdll内部のルーチンより1万倍掛かるとかザラにあるし
357 名前:デフォルトの名無しさん mailto:sage [2025/04/25(金) 12:53:18.17 ID:RL99gkZ90.net] まぁ、アンマネージ呼び出しをパフォーマンス目的でやるもんじゃないしな
358 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 16:38:33.85 ID:jnYDAPp70.net] LibraryImport属性を使うとDllImport属性より最適化されたコードが出力されたりするの?
359 名前:デフォルトの名無しさん [2025/05/03(土) 12:39:00.86 ID:GwMmJ/YG0.net] オリジナルのDataGridViewの列を作りたいんですが、デザインビューのDataGridViewからオリジナルの列を追加する方法ってありますか?
360 名前:デフォルトの名無しさん mailto:sage [2025/05/03(土) 14:19:24.20 ID:ZbkD0HOB0.net] >>359 オーナードローしたいという事?
361 名前:デフォルトの名無しさん mailto:sage [2025/05/03(土) 14:43:58.59 ID:rfaECn6+M.net] 列A 列Bがあって 列C作ってA+Bを表示したいと言うことでは?
362 名前:デフォルトの名無しさん (ワッチョイ 7761-tU9d) [2025/05/03(土) 15:51:35.38 ID:GwMmJ/YG0.net] DataGridViewColumnを派生させたオリジナルの列をフォームデザインビューから列に追加したいんです
363 名前:デフォルトの名無しさん [2025/05/03(土) 16:55:23.30 ID:h9Jrb8E+0.net] lこの辺りを駆使してDataGridViewColumnクラスを作るとか https://dobon.net/vb/dotnet/graphics/drawcontrols.html
364 名前:デフォルトの名無しさん [2025/05/03(土) 18:56:11.65 ID:Q4RX0Sa/0.net] スマホとPCの作業を効率化したい--「Copilot Vision」の便利な8つの活用例 2025-05-03 07:00 https://japan.zdnet.com/article/35232549/ 1 プログらまーまこれを改造してるので上記以外の状態でも使用できるようにしている 2 すでにプログラムがあるので1〜コードを作成する必要が無い ボイス・トォ・スカルの本態が一般パソコンにまで来たのでつい買い捨てができるようになった マネーロンダリング 談合 インサイダー などがはかどるといわれる
365 名前:デフォルトの名無しさん [2025/05/05(月) 08:51:14.85 ID:wERx/Nt90.net] “イリヤ神”がまたやった 動画生成AI「FramePack」が革命的なワケ 2025年05月05日 07時00分更新 https://ascii.jp/elem/000/004/267/4267160/ 4月17日に登場した動画生成AIプログラム「FramePack(フレームパック)」が世界的に衝撃を与えています。PCローカル環境で動画AIを動かすには、少なくともビデオメモリー(VRAM)が12GBあるビデオカードを搭載していないと難しいというのが常識でした。ところが、VRAM 6GBでも安定的に動作させられるため、一気に動画AIの裾野を広げそうです。開発したのは、画像生成AI分野で「ControlNet」や、使いやすいツール「Fooocus」などを開発してきたことで知られる、スタンフォード大学に在籍中のIllyasviel(イリヤスフィール、以下イリヤ)さん。既存の方法論にまったく違ったアプローチでブレイクスルーを引き起こす、“イリヤ神”のアプローチに再び注目が集まっています。 中略 AI動画を作ってみたいけれども、スペックが足りないために諦めていたという人が次々に自前の環境で試すようになってきました。既にワンパッケージでインストールできる環境も整えられているため、スタートも簡単です。様々なファイルをダウンロードしてくるため、初期設定は2時間くらいは見ておく必要があるものの、圧倒的にハードルが下がりました。
366 名前:デフォルトの名無しさん [2025/05/07(水) 15:21:51.01 ID:Nuqzm3Wk0.net] 下記は全て2025年5月7日の記事 OpenAI、ChatGPTの6つのモデルの違いと適切なプロンプトを解説 https://news.mynavi.jp/techplus/article/20250507-3275757/ Microsoftの新規のソースコードの約3割をAIが生成、Nadella氏が明かす https://news.mynavi.jp/techplus/article/20250507-3271749/ スコットランドの住民を悩ます謎の怪音「ヘブリディアン・ハム」の正体はいまだ不明 https://karapaia.com/archives/507130.html
367 名前:デフォルトの名無しさん mailto:sage [2025/05/07(水) 16:08:58.47 ID:9Z9/upda0.net] 余所でやれカス
368 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 10:26:27.15 ID:8ptxnmrna.net] 余所でやれとあなたが言ったから 色んなスレにマルチされたので 5月7日はマルチ記念日
369 名前:デフォルトの名無しさん [2025/06/16(月) 03:18:14.57 ID:BRbK5XdC0.net] IDisposableを実装したクラスのインスタンスがもし破棄されていたら再度生成するために、 if(instance.IsDisposed || instance == null){ instance = new MyClass(); } という書き方してるんですが、(obj != null)の部分って意味ないんでしょうか?
370 名前:369 mailto:sage [2025/06/16(月) 03:32:02.55 ID:BRbK5XdC0.net] すみません。ChatGPTが下記の回答をくれました。 instance が null の場合、insntace.IsDiposed の評価時に NullReferenceException が発生してしまうので、 if(instance == null || instance.IsDisposed){ instance = new MyClass(); } にしなければならない。 必要かどうか。 設計上 instance が null になる可能性がある場合、null チェックは必要。 絶対に null にならないように管理されている場合、null チェックは不要。 「instance がまだ生成されていない、または使えない状態になったときに再生成する。」 という目的が明確にある場合、妥当で意味のある書き方です。
371 名前:デフォルトの名無しさん mailto:sage [2025/06/16(月) 10:34:42.11 ID:Nk3UlLjY0.net] そもそも変数を使いまわそうとしているのが間違い using等でスコープと連動させて管理すべき
372 名前:デフォルトの名無しさん [2025/06/16(月) 12:34:32.54 ID:rtKSn8210.net] >>370 もうほんのちょいだけ突っ込んだ解説すると、||演算子は左から評価を行い、左がtrueになった時点で右は評価を行わない ゆえに、nullが渡ってくる可能性がある場合には~というChatGPTの回答に繋がる
373 名前:デフォルトの名無しさん mailto:sage [2025/06/16(月) 14:51:53.15 ID:IaYLbsBg0.net] >>372 ショートサーキットの有無は全然関係ないだろ ChatGPTのダメ回答にさらに間違ったダメ解説を付け足すなよ
374 名前:デフォルトの名無しさん mailto:sage [2025/06/16(月) 17:32:21.61 ID:MOf8oPnJ0.net] 草
375 名前:デフォルトの名無しさん mailto:sage [2025/06/16(月) 18:04:45.11 ID:wwT4Yc020.net] >(obj != null)の部分って意味ないんでしょうか? (obj != null)の部分が見当たらない問題
376 名前:デフォルトの名無しさん [2025/06/16(月) 19:27:49.53 ID:rtKSn8210.net] フェイルセーフで実装するコードに対して、全体見えないのに設計直せは草しか生えない。ChatGPTでもやらん暴挙 その上でなぜ左右逆だといけないのかの解説に対してショートサーキットの有無は関係ないとかガチで草
377 名前:デフォルトの名無しさん mailto:sage [2025/06/16(月) 19:46:50.44 ID:oIohr+2JM.net] その前にフェイルセーフなのかどうかすらわからないと思う ここでしか初期化していないならフェイルセーフではない
378 名前:デフォルトの名無しさん mailto:sage [2025/06/16(月) 19:54:04.99 ID:oIohr+2JM.net] フェイルセーフ 例えば信号が壊れたときに赤になるようにしてあれば交差点に通常運転で突っ込む事故が起こらない 壊れるにしても事態を安全な方向に振ること 初期化忘れや破棄されたインスタンス等を初期化するのはフェイルセーフではない
379 名前:デフォルトの名無しさん mailto:sage [2025/06/16(月) 21:31:49.20 ID:wwT4Yc020.net] >>376 なぜ左右逆だといけないのかとショートサーキットの有無は関係ないんだけど指摘されてもマジでわかんないのか ChatGPTの回答もう一度読んでみ? あとはショートサーキット無しの|演算子にしたら問題がなくなるのかどうか考えてみ?
380 名前:デフォルトの名無しさん [2025/06/16(月) 22:33:11.11 ID:GWwonttx0.net] >>379 ああ言われて気づいた、説明間違ってたわ 最初のコードだと、左から判断を行うので、instance.IsDisposedを判定するときにinstanceがnullの場合にエラーが発生する けど逆にするとinstance == nullではじくので、instance.IsDisposedは判定しなくなる
381 名前:デフォルトの名無しさん [2025/06/16(月) 22:37:37.67 ID:GWwonttx0.net] はじくじゃねーや、また言葉間違ってる 最初のコードだと、左から判断を行うのでnstanceがnullの場合にinstance.IsDisposeでNullにアクセスしようとしてぬるぽが発生する けど逆にするとinstanceがnullの場合は左の条件だけで生成に向かい、またinstanceがnullではない場合には誤ってDisposeされているかどうかで判断して再生成する
382 名前:デフォルトの名無しさん mailto:sage [2025/06/17(火) 03:09:44.29 ID:37ojnUDK0.net] 今の世の中AIがあんのにまだこんな場末のド素人のホビープログラマーと知ったかの吹き溜まりにきよんのか理解に苦しむんやがwww まぁAIの使い方すらわからん低脳チンパンやからこんなまともな回答が返ってこーへんスレで質問しとんのやろーなクソワロタ
383 名前:デフォルトの名無しさん [2025/06/17(火) 03:15:38.49 ID:TyHic1BD0.net] なるほどこれがチンパンジーか
384 名前:デフォルトの名無しさん [2025/06/17(火) 19:36:15.47 ID:ItQB0Ii0a.net] 答えもらうつもりで来とるやつなんかおらんやろ
385 名前:デフォルトの名無しさん mailto:sage [2025/06/17(火) 20:04:41.87 ID:lyLRSSY/M.net] >>381 あんたの言葉の方が、native 日本人にはおかしく聞こえる。 380 の説明は自然な日本語であり、論理的にも正確。
386 名前:デフォルトの名無しさん mailto:sage [2025/06/17(火) 20:06:58.69 ID:lyLRSSY/M.net] >>379 || 演算子のショートサーキット評価 (短絡評価) は大いに関係ある。
387 名前:デフォルトの名無しさん mailto:sage [2025/06/17(火) 20:46:19.23 ID:QaggVUGV0.net] null判定を後に書いちゃうのはショートサーキット評価有無以前の問題だって話だろ
388 名前:デフォルトの名無しさん mailto:sage [2025/06/17(火) 22:02:13.98 ID:EAFPsc4EM.net] >>387 何言ってんだか。
389 名前:デフォルトの名無しさん [2025/06/17(火) 22:56:13.68 ID:6ofORGWH0.net] null合体演算子を使う方法もある if (instance?.IsDisposed ?? true) {...} 「ヌルの場合は」という条件を強く示したいなら is null を明示して良いと思うけど、個人的にはこちらの方が簡潔に感じる できればプロジェクトの設定でnull参照許容型を有効にして、 instance が null になり得るかを宣言時に分かるようにするとベター (null になり得るなら MyClass? instance のように書く) これが有効なプロジェクトなら、nullにならないもの (?がついてない変数やフィールド) についての null チェックはしなくて良い
390 名前:デフォルトの名無しさん mailto:sage [2025/06/17(火) 23:34:10.59 ID:iqT3/wLqM.net] それをコードそのまんまで日本語化してみろよ 基地外じみた内容にしかならない
391 名前:デフォルトの名無しさん mailto:sage [2025/06/18(水) 08:47:51.67 ID:KyoQ8vl80.net] ミネオはキチガイしか居らんのか
392 名前:デフォルトの名無しさん [2025/06/18(水) 17:42:58.37 ID:SrJIdorw0.net] 世界最長のコンテキストウィンドウ100万トークン入力・8万トークン出力対応にもかかわらずたった7800万円でトレーニングされたAIモデル「MiniMax-M1」がオープンソースで公開され誰でもダウンロード可能に 2025年06月18日 11時43分 https://gigazine.net/news/20250618-minimax-m1-open-source/ >>MiniMax-M1は、合計4560億のパラメーターが含まれており、トークンごとに459億のパラメーターがアクティブになるとのこと。これはDeepSeek R1の8倍に相当するコンテキストウィンドウです >>以下のグラフは競技レベルの数学、コーディング、ソフトウェアエンジニアリング、エージェントツールの使用、長文理解タスクにおけるパフォーマンスを主要な商用AIモデルと比較したもの。赤色がMiniMax-M1で、どのタスクにおいても競合AIモデルに匹敵するパフォーマンスを発揮できている >>MiiniMax-M1はいくつかのベンチマーク、特に長いコンテキスト駆動のベンチマークでClaude Opus 4のパフォーマンスを上回りました」と報告 ※AIを動作させている動画あり ↓上記のAIお下記をプレイさせれば性能が判明する Gemini 2.5 Proは手持ちのポケモンが瀕死になるとパニックに陥る 2025年06月18日 12時30分 https://gigazine.net/news/20250618-pokemon-gemini-panic/ ◇ [プロテクトガードやセキュリティーホール発見可能] ※1 プログラムのバグ技[裏抜け道]を使用できる=チートコードを発見可能 ・ マリオカートのショートカットはプレイヤー「極悪人」の表の抜け道でNPC「一般人」は使用不可能 [インサイダー/談合/なねーロンダリング/霊感商法など行う時の悪行で音波や電波をしての悪行の方法を発見可能 ※ 政治家の法律上の抜け道を仕込める=ある業種だけの法律の抜け道を発見可能 [一般大衆の思考である特定の極悪人から目線を特定の統合失調症へ返させる装置] ※ AIは正確な情報で人間を信用させれる=AIは嘘の情報を一部混ぜて人間を洗脳できる
393 名前:デフォルトの名無しさん mailto:sage [2025/08/05(火) 00:09:25.40 ID:DqljLAiY0.net] びっくりするくらい過疎になったの何故 .net 10も出ると言うのに
394 名前:デフォルトの名無しさん [2025/08/05(火) 08:50:09.46 ID:6/QKa+fA0.net] ここで聞くよりAIで済むからじゃね
395 名前:デフォルトの名無しさん mailto:sage [2025/08/05(火) 08:53:43.86 ID:rlCv+3El0.net] 下手に話題出すとキ印が絡んで来るしな
396 名前:デフォルトの名無しさん mailto:sage [2025/08/05(火) 18:44:21.24 ID:R8uM/fta0.net] ム板自体人いないわ Avaloniaは触ってるぞ
397 名前:デフォルトの名無しさん mailto:sage [2025/08/11(月) 10:39:32.83 ID:dTIBHPC20.net] 大量の演算を行って結果を配列に格納するんだけど 演算量(配列のサイズ)が2倍になれば時間も2倍だと思ってたのに 実際やってみると、ものすごく時間かかるのはなんでなのか メモリを確保する都合かな、50MB程度しか使ってないけど
398 名前:デフォルトの名無しさん [2025/08/11(月) 10:47:39.93 ID:hg5eV/6v0.net] 使ってる命令? 配列の最終項に1個追加するだけで、配列を1から順に追っかけなきゃいけない命令だと 配列が多くなるごとに倍倍で時間かかるわな アセンブラやCのポインタ処理使って、データを直接ピンポイントで追加していけばそんなことにはならない
399 名前:デフォルトの名無しさん mailto:sage [2025/08/11(月) 10:53:18.04 ID:hpBrR+js0.net] キャッシュが効いてないからじゃね? しらんけど
400 名前:デフォルトの名無しさん [2025/08/11(月) 10:55:29.33 ID:hg5eV/6v0.net] https://takap-tech.com/entry/2020/02/24/213932 高級言語ってやだねぇ 毎回検証しなきゃならん
401 名前:デフォルトの名無しさん mailto:sage [2025/08/11(月) 11:06:58.02 ID:sBuKtcj30.net] 未確認飛行Cの該当ページに注釈で答えが書いてある
402 名前:デフォルトの名無しさん mailto:sage [2025/08/11(月) 11:37:25.41 ID:fEsLiT7D0.net] >>397 そりゃその演算のアルゴリズム複雑度がO(n)じゃなくてO(n^2)とかそれ以上だからでしょ 配列のサイズだけ見ても意味がない
403 名前:デフォルトの名無しさん mailto:sage [2025/08/11(月) 11:55:31.19 ID:sU8UUb9o0.net] 計算すれば全てをO(1)にすることもできる 50MBも計算リソースがあればまずこのルートを探索する
404 名前:デフォルトの名無しさん [2025/08/11(月) 13:42:54.49 ID:qd5s+Urc0.net] 最初にたっぷり配列確保すればいいのでは 無駄とか知らん
405 名前:デフォルトの名無しさん mailto:sage [2025/08/11(月) 14:19:35.35 ID:GZ+6RBr20.net] C#に限ったことだじゃないけど、CPUキャッシュに載るかどうかで速度は変わる
406 名前:デフォルトの名無しさん [2025/08/11(月) 18:29:46.41 ID:dNAHoV5P0.net] 配列には一気にドーンや ちまちま1つづつ入れてるなよ
407 名前:デフォルトの名無しさん [2025/08/11(月) 22:10:51.44 ID:hAY1vQI/0.net] CPUキャッシュって2MBとかだろ?
408 名前:デフォルトの名無しさん mailto:sage [2025/08/11(月) 23:58:48.37 ID:GcNu7+N80.net] どう使ってるかに尽きる >>402 が理解できないなら初心者スレ案件だし
409 名前:デフォルトの名無しさん mailto:sage [2025/08/13(水) 16:17:32.98 ID:ewrO98CeM.net] >>407 最近のはL3まで含めれば10倍以上ある