C#, C♯, C#相談室 Part98 (392レス)
C#, C♯, C#相談室 Part98 http://mevius.5ch.net/test/read.cgi/tech/1719656321/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: デフォルトの名無しさん (ワッチョイ 7f6a-B4f6) [sage] 2024/06/29(土) 19:18:41.95 ID:NohAfdfx0 !extend:checked:vvvvv:1000:512 !extend:checked:vvvvv:1000:512 !extend:checked:vvvvv:1000:512 ■Visual Studio 2022 Community(無償の統合開発環境)等はこちら http://www.visualstudio.com/downloads/ ■コードを貼る場合はこちら http://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 http://mevius.5ch.net/test/read.cgi/tech/1719656321/1
266: デフォルトの名無しさん (ワッチョイ be10-Xxs2) [sage] 2024/12/21(土) 18:15:03.35 ID:4NNdAFL10 いや知らんがw 俺がC#の話題にしろ言うたわけじゃないしw http://mevius.5ch.net/test/read.cgi/tech/1719656321/266
267: デフォルトの名無しさん (ワッチョイ 177d-N2O4) [sage] 2024/12/21(土) 21:57:55.88 ID:i5j/m89y0 今関わってるプロジェクトがスペース2つでインデントしててちょっと面食らってしまったんだけどこれ珍しくないもの? 今まで携わってきた中で一件も遭遇したことなかった http://mevius.5ch.net/test/read.cgi/tech/1719656321/267
268: デフォルトの名無しさん (ワッチョイ 6a6a-Pm71) [sage] 2024/12/21(土) 22:11:41.26 ID:lUhayCnC0 過去に深いネストを大量生産する人がエラくなっちゃって、そういうルールになってしまったんじゃないかと妄想しちゃうなw http://mevius.5ch.net/test/read.cgi/tech/1719656321/268
269: デフォルトの名無しさん (ワッチョイ 8f5d-/DxF) [sage] 2024/12/21(土) 23:25:41.77 ID:BdmznDtW0 今時スペース2個は珍しいな、C#とかではあんまりない気がする 昔々はどの言語でもタブを使っていいかとか、スペースで代用するなら2個か4個かで論争があったらしい JSは2個が主流だった気がするけど今はどうだろ http://mevius.5ch.net/test/read.cgi/tech/1719656321/269
270: デフォルトの名無しさん (ワッチョイ a301-28Ti) [sage] 2024/12/21(土) 23:39:03.76 ID:L6mtJxlH0 jsonは2だったり4だったりまちまちだけどね http://mevius.5ch.net/test/read.cgi/tech/1719656321/270
271: デフォルトの名無しさん (ワッチョイ 5f95-EHcm) [] 2024/12/22(日) 00:09:01.63 ID:tw4BvM7X0 タブのが合理的 Goみたいな標準フォーマッタがあるのが理想だけどC#はそう言う文化はないね http://mevius.5ch.net/test/read.cgi/tech/1719656321/271
272: デフォルトの名無しさん (ワッチョイ df79-0Q8V) [sage] 2024/12/22(日) 02:26:26.71 ID:/fc7feyD0 俺はスペース2個のが視線移動減って楽だと感じてるからかなり昔から2個派だよ >>268みたいな日本人特有の右倣えのお仕着せルールに甘んず昔から超効率化してるやつらは世の中に沢山いるんだよ 勉強になったな http://mevius.5ch.net/test/read.cgi/tech/1719656321/272
273: デフォルトの名無しさん (ワッチョイ 2b28-MhhP) [sage] 2024/12/22(日) 03:54:49.07 ID:f4R4W69d0 TABに統一してるけど 表示上は半角スペース2から4個で用途で変えてる http://mevius.5ch.net/test/read.cgi/tech/1719656321/273
274: デフォルトの名無しさん (スププ Sd03-+INx) [sage] 2024/12/22(日) 05:02:43.67 ID:SvMpALOcd {}は if(){ } の方が好き 普通は if() { } これ? http://mevius.5ch.net/test/read.cgi/tech/1719656321/274
275: デフォルトの名無しさん (ワッチョイ 832b-8NiF) [sage] 2024/12/22(日) 05:44:22.67 ID:96LlHbpn0 逆、最初の頃は上が大多数 ブログやら初心者講座やらで下の書き方が主流担ってきてる感じ http://mevius.5ch.net/test/read.cgi/tech/1719656321/275
276: デフォルトの名無しさん (ワッチョイ b310-3P54) [sage] 2024/12/22(日) 06:21:31.74 ID:I7bhR46i0 スペース2個インデントって言うと、XMLやHTMLを思い浮かべるな http://mevius.5ch.net/test/read.cgi/tech/1719656321/276
277: デフォルトの名無しさん (ワッチョイ 957c-Th9R) [] 2024/12/22(日) 07:48:19.66 ID:dFQQq0VB0 >>275 違うぞ 上のはJavaやJavaScript界隈でのデファクト 下はMicrosoft系のC#とかのデファクト 公式が出してるコーディング規約がそうなってるだけ http://mevius.5ch.net/test/read.cgi/tech/1719656321/277
278: デフォルトの名無しさん (ワッチョイ 957c-Th9R) [] 2024/12/22(日) 07:50:46.11 ID:dFQQq0VB0 >>276 例えばC#というかasp.net系だとrazor構文でhtmlと一緒にC#のコード埋め込む そうするとインデントは2の方が見やすい http://mevius.5ch.net/test/read.cgi/tech/1719656321/278
279: デフォルトの名無しさん (ワッチョイ 957c-Th9R) [] 2024/12/22(日) 07:53:26.28 ID:dFQQq0VB0 >>271 C#はチェーンメソッドのドットを縦に綺麗に並べる文化が有るんでタブだと都合が悪い 2でも4でも良いけどスペースがデファクト http://mevius.5ch.net/test/read.cgi/tech/1719656321/279
280: デフォルトの名無しさん (ワッチョイ 832b-8NiF) [sage] 2024/12/22(日) 08:13:40.94 ID:96LlHbpn0 >>277 いやだから C#が出る前というか出始めの頃で Cプラプラ使い達が多かった時さ http://mevius.5ch.net/test/read.cgi/tech/1719656321/280
281: デフォルトの名無しさん (ワッチョイ 832b-8NiF) [sage] 2024/12/22(日) 08:20:56.74 ID:96LlHbpn0 当時、というか関数書くときって hoge(){ …} て書くのが一般的やったん んでDelphiが出てきたらこの{}をBegin…Endで囲むから hoge() Begin … End ここらへんはVBやVBAとかにも反映されて その後C#で出した際にって感じかな http://mevius.5ch.net/test/read.cgi/tech/1719656321/281
282: デフォルトの名無しさん (ワッチョイ 5f95-EHcm) [] 2024/12/22(日) 09:15:42.08 ID:tw4BvM7X0 >>279 タブをインデントで使ってスペースをアライメントで使えば理論上ズレないよ Goのフォーマッタはこれに従ってるからタブ幅は任意に設定できる prettierみたいな途中で強制的に折り返すフォーマッタとは相性が悪いけど http://mevius.5ch.net/test/read.cgi/tech/1719656321/282
283: デフォルトの名無しさん (ワッチョイ 5f95-EHcm) [] 2024/12/22(日) 09:22:40.24 ID:tw4BvM7X0 Indent with tabs, align with spaces https://dmitryfrank.com/articles/indent_with_tabs_align_with_spaces これね これが理想だけどエンジニアのレベルが高くないとこのルールを守るのは難しいからスペースにしてるのが大半 ただしGoは強制フォーマッタでこれを解決してる 個人プロジェクトなら最初から好きなタブ幅にすればいいからタブにするメリットもあまりないし 気分でタブ幅変えれるのは結構メリットあるけどね http://mevius.5ch.net/test/read.cgi/tech/1719656321/283
284: デフォルトの名無しさん (ワッチョイ b310-3P54) [sage] 2024/12/22(日) 09:27:48.67 ID:I7bhR46i0 俺はずっと>>274の前者でインデントはタブだなぁ なおタブの幅はスペース4個分 http://mevius.5ch.net/test/read.cgi/tech/1719656321/284
285: デフォルトの名無しさん (ワッチョイ 7b8b-vY+B) [sage] 2024/12/22(日) 11:59:15.10 ID:US35TJKc0 「自転車置き場の屋根の色」現象発生中 http://mevius.5ch.net/test/read.cgi/tech/1719656321/285
286: デフォルトの名無しさん (スッップ Sdaf-3P54) [sage] 2024/12/22(日) 13:03:56.05 ID:ci/BAnbad この手の話は職場のルールで決まるから個人がどうこうは関係ないよな ただ自分のツールなんかは好きにしろだが カッコ、演算子、型と変数の宣言の間の空白などもめる話題はいくらでもある http://mevius.5ch.net/test/read.cgi/tech/1719656321/286
287: デフォルトの名無しさん (ワッチョイ 195d-PrDn) [sage] 2024/12/22(日) 16:36:51.22 ID:J7cuP3Nu0 >>285 「原子力発電所の建設」について議論したいなら付き合うよ、それで議題は? http://mevius.5ch.net/test/read.cgi/tech/1719656321/287
288: デフォルトの名無しさん (ワッチョイ 957c-Th9R) [] 2024/12/22(日) 17:09:33.96 ID:dFQQq0VB0 まあreshaperでテーム共有設定使うだけだしな http://mevius.5ch.net/test/read.cgi/tech/1719656321/288
289: デフォルトの名無しさん (ワッチョイ 7b8b-vY+B) [sage] 2024/12/22(日) 19:48:07.14 ID:US35TJKc0 >>287 では失礼して Unity製ゲームのMOD開発なんかでリフレクション使いまくるのもなんかスマートじゃないから、 aelij氏のIgnoresAccessChecksToGeneratorを魔改造させてもらってフィールド含めて全パブリック&readonly解除でゲームのコードに全アクセス出来るようになってめっちゃ捗るようになったのだけど、 欲が出て標準ライブラリにも手を出したくなってやってみたらmscorlibなんかはReferenceAssemblyだからプライベートフィールドはそもそもdll内に含まれてないから書き換えられないんだよね。 ランタイム時の実体dllを決め打って渡せばstring.m_firstCharとかList<T>._sizeとかも全てアクセスできるようにはなるんだけど決め打ち渡しもスマートじゃないからどうにか自動で解決をしたい。 ILSpyやmono.cecilにはランタイム時の実体dllを特定するコードあるんだけどbuildアクションから同じ事するのって可能だろうか? http://mevius.5ch.net/test/read.cgi/tech/1719656321/289
290: デフォルトの名無しさん (ワッチョイ e376-ZNoy) [sage] 2024/12/22(日) 19:55:36.15 ID:zKZ5mRgv0 はい http://mevius.5ch.net/test/read.cgi/tech/1719656321/290
291: デフォルトの名無しさん (ワッチョイ 7b8b-vY+B) [sage] 2024/12/22(日) 20:10:00.61 ID:US35TJKc0 へー なんだかもうゲームよりMOD開発、MOD開発より開発環境開発の方が長くなっちゃってますわ http://mevius.5ch.net/test/read.cgi/tech/1719656321/291
292: デフォルトの名無しさん (ワッチョイ 832b-8NiF) [sage] 2024/12/22(日) 20:35:36.44 ID:96LlHbpn0 だって、ここ 別にゲーム開発やないし プログラムやで http://mevius.5ch.net/test/read.cgi/tech/1719656321/292
293: デフォルトの名無しさん (ワントンキン MM33-MooF) [sage] 2024/12/22(日) 20:50:51.80 ID:F7NwxYJ7M いまだにmonoで簡単にいじられまくりゲームあるのか http://mevius.5ch.net/test/read.cgi/tech/1719656321/293
294: デフォルトの名無しさん (ワッチョイ 0364-PrDn) [sage] 2024/12/23(月) 00:10:04.98 ID:XKMn6iMr0 >>289 日本語がややこしいけど ①標準ライブラリのPrivate含む全フィールドにリフレクションを使わずにアクセスして書き換えたりしたい んで、 ②実体DLLを決め打ちで渡せばアクセスできるってところまでできてる あとは ③実体DLL取得を自動化したい ④なおかつビルドプロセスに組み込みたい ってことか MOD開発とか知らんけど面白そうじゃん http://mevius.5ch.net/test/read.cgi/tech/1719656321/294
295: デフォルトの名無しさん (ワッチョイ 0364-PrDn) [sage] 2024/12/23(月) 00:36:21.82 ID:XKMn6iMr0 いまいち細かい要件がよくわからんけどAppDomain.CurrentDomain.GetAssemblies()で現在ロードされているすべてのアセンブリが取得できるらしいが、これ試した? 駄目だったならどういうところがダメだったのか教えてくれ http://mevius.5ch.net/test/read.cgi/tech/1719656321/295
296: デフォルトの名無しさん (ワッチョイ 7b8b-vY+B) [sage] 2024/12/23(月) 17:33:16.62 ID:HWay8A+S0 >>295 要するにIgnoresAccessChecksToGeneratorの話でMSBuild内のコードとして動くものだからそれやってもMSBuildがロードしてるものが返されるだけとなる ILSpyなんかもtypeof(object)などから解決してるので上記の理屈でそのまま移植はできない http://mevius.5ch.net/test/read.cgi/tech/1719656321/296
297: デフォルトの名無しさん (ワッチョイ 7b8b-vY+B) [sage] 2024/12/23(月) 17:42:25.10 ID:HWay8A+S0 >>293 マルチメインじゃなくmodフレンドリーなゲームならil2cpp化せずそのまま出してるゲームも普通に多いよ 改変やチート防止のためなら難読化含めてやったところでそこまで難易度上がらないからそれ目的ならRustみたいにカーネルドライバ付けるしかない http://mevius.5ch.net/test/read.cgi/tech/1719656321/297
298: デフォルトの名無しさん (ワッチョイ a374-PrDn) [sage] 2024/12/24(火) 18:58:01.04 ID:9YLK2p020 個人開発の局所的な用途のマイナーツールの話が原発の建設並の重大事なのか ちょっと難しすぎてわかんねえな http://mevius.5ch.net/test/read.cgi/tech/1719656321/298
299: デフォルトの名無しさん (ワッチョイ df79-0Q8V) [sage] 2024/12/24(火) 19:41:54.52 ID:RgkKZ0Pj0 原発ってただの湯沸かし器じゃん 燃料がちょっとヤバイってだけで高尚なC#のプログラムと比較すんなよ http://mevius.5ch.net/test/read.cgi/tech/1719656321/299
300: デフォルトの名無しさん (スッップ Sdaf-3P54) [sage] 2024/12/25(水) 08:00:53.24 ID:vP0zyznod C#だってただの道具 しかもC#だけじゃお湯も沸かせない 高尚とかちゃんちゃらおかしい http://mevius.5ch.net/test/read.cgi/tech/1719656321/300
301: デフォルトの名無しさん (ワッチョイ 57ef-FEgH) [sage] 2024/12/25(水) 08:26:32.01 ID:ML8x6ihA0 ツールは手段であって目的はアクセシビリティバイパスだから言語レベルのスケールの話な 実際これ求めてる人は少なくないからUnsafeAccessorが実装された訳で てかリフレクションの方が文字列で指定してる分よっぽど危険だと思うんだけどな http://mevius.5ch.net/test/read.cgi/tech/1719656321/301
302: デフォルトの名無しさん (ワッチョイ df79-0Q8V) [sage] 2024/12/25(水) 21:07:50.83 ID:G9TljzDw0 エロがビデオを進化させてきようにチートがソフトウェアを進化させるんだよ 湯沸かししかできない原発野郎は難しいなら黙ってろ http://mevius.5ch.net/test/read.cgi/tech/1719656321/302
303: デフォルトの名無しさん (ワッチョイ 5761-PrDn) [sage] 2024/12/25(水) 21:35:48.64 ID:7oEpQVAc0 煽りたいだけのやつが居着いちゃってるのか、このスレ http://mevius.5ch.net/test/read.cgi/tech/1719656321/303
304: デフォルトの名無しさん (ワッチョイ b310-3P54) [sage] 2024/12/25(水) 21:39:40.34 ID:WXVFxdaX0 いつものことだよあぼーんしときな http://mevius.5ch.net/test/read.cgi/tech/1719656321/304
305: デフォルトの名無しさん (ワッチョイ 832b-8NiF) [sage] 2024/12/25(水) 21:44:21.01 ID:WWJbrOfz0 だぁ~から ドーンおじはコテ付けろや http://mevius.5ch.net/test/read.cgi/tech/1719656321/305
306: デフォルトの名無しさん (ワッチョイ 3ec0-m72+) [sage] 2025/01/01(水) 16:01:04.94 ID:nGCOTvnw0 Enum.IsDefined(enumType, intValue)ってボックス化する? AIに聞いたら最初は「ボックス化しない」とか言われたんだけど、第2引数がobject型として受け取ることを指摘したら「ボックス化するかもしれません」みたいな曖昧な返答されてよく分からなくなってきた http://mevius.5ch.net/test/read.cgi/tech/1719656321/306
307: デフォルトの名無しさん (ワッチョイ 9a8b-tkBd) [sage] 2025/01/01(水) 16:03:34.19 ID:zfs+VkVC0 object型ならするよ .NETのバージョンにもよるけどgeneric版の方が型がコンパイル時解決されるからパフォーマンスは良い http://mevius.5ch.net/test/read.cgi/tech/1719656321/307
308: デフォルトの名無しさん (ワッチョイ 3ec0-m72+) [sage] 2025/01/01(水) 16:07:11.80 ID:nGCOTvnw0 だよね ありがとう http://mevius.5ch.net/test/read.cgi/tech/1719656321/308
309: デフォルトの名無しさん (ワッチョイ 3ec0-m72+) [sage] 2025/01/01(水) 16:23:43.79 ID:nGCOTvnw0 確かにジェネリクスで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); } http://mevius.5ch.net/test/read.cgi/tech/1719656321/309
310: デフォルトの名無しさん (ワッチョイ 63eb-UqtM) [] 2025/01/01(水) 22:57:38.89 ID:tBHA6FMH0 JetbrainsやILSpyでIL見てboxあるかどうかみればいいんじゃね http://mevius.5ch.net/test/read.cgi/tech/1719656321/310
311: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/01/31(金) 11:32:40.83 ID:jXb+sjQI0 ハック的なことなんだけどインスタンスのオブジェクトヘッダに埋め込まれるクラスハンドルへのポインタ?をインスタンス無しで得る方法って無いかな typeof(MyClass)ってすると正にそのポインタが「mov rcx, 7FFB716DE758 -> call clrのtype取得関数」って感じのアセンブラが生成される訳だけど、その7FFB716DE758を得たいんだよね インスタンスがあればUnsafeライブラリ用いて簡単に得られるのだけど http://mevius.5ch.net/test/read.cgi/tech/1719656321/311
312: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/01/31(金) 11:34:05.08 ID:jXb+sjQI0 文章修正してたら日本語おかしくなったけどもし知ってる方いたらヒントでも何でも教えていただきたい http://mevius.5ch.net/test/read.cgi/tech/1719656321/312
313: デフォルトの名無しさん (ワッチョイ 9714-natb) [sage] 2025/01/31(金) 12:00:57.31 ID:ejyfLYzx0 GetTypeで得られるものとは違うわけ? http://mevius.5ch.net/test/read.cgi/tech/1719656321/313
314: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/01/31(金) 12:51:25.22 ID:jXb+sjQI0 >>313 GetTypeやtypeofで得られるものはあくまでもType型のマネージドインスタンスだから全く違う だけど逆アセをするとtypeof()時には即値でハンドルへのポインタ?がアセンブラコードとして埋め込まれてるので内部的にはめちゃくちゃ簡単に得る方法があるはずなんだよね http://mevius.5ch.net/test/read.cgi/tech/1719656321/314
315: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/01/31(金) 14:52:24.28 ID:jXb+sjQI0 一応自己解決だけどGetTypeやtypeofで得られたTypeインスタンスから「type.TypeHandle.Value」で希望のものは得られた 本来即値で得られるはずなのに冗長でもやもやはするが http://mevius.5ch.net/test/read.cgi/tech/1719656321/315
316: デフォルトの名無しさん (ワッチョイ 1a9d-natb) [sage] 2025/01/31(金) 15:09:15.71 ID:gpRv5mHv0 ChatGPTに聞いたら同じ答えが返ってきたけどRuntimeTypeHandle.Valueは環境によってメソッドテーブルへのポインタじゃなくEETypeへのポインタや実装依存のメタデータへのポインタになる場合もあるから自分で確認しろよとのこと http://mevius.5ch.net/test/read.cgi/tech/1719656321/316
317: デフォルトの名無しさん (ワッチョイ 4e10-EVp+) [sage] 2025/02/01(土) 06:49:44.36 ID:LNgv56j/0 そらJITなんだから・・・ http://mevius.5ch.net/test/read.cgi/tech/1719656321/317
318: デフォルトの名無しさん (ワッチョイ 1a9d-natb) [sage] 2025/02/01(土) 10:13:37.11 ID:m26c//aC0 いやJITは関係ないぞ http://mevius.5ch.net/test/read.cgi/tech/1719656321/318
319: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/02/01(土) 11:06:41.29 ID:dQW8A9nv0 JITだろうが何だろうがconst intなんかは即値で埋め込まれるしね だからクラス名.TypeHandleValueみたいなconst持っててくれたら嬉しいんだけど需要ほぼゼロすぎるか http://mevius.5ch.net/test/read.cgi/tech/1719656321/319
320: デフォルトの名無しさん (ワッチョイ 1a9d-natb) [sage] 2025/02/01(土) 12:12:47.05 ID:m26c//aC0 ん?即値で得られない理由の話だったか そっちならJIT関係あるわな http://mevius.5ch.net/test/read.cgi/tech/1719656321/320
321: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/02/01(土) 12:17:46.65 ID:dQW8A9nv0 いや関係ないよ なぜなら逆アセすれば分かるけど思いっきりレジスタ長以下のconst同様の挙動を見せてるからね typeof時にね http://mevius.5ch.net/test/read.cgi/tech/1719656321/321
322: デフォルトの名無しさん (ワッチョイ 17d7-EVp+) [sage] 2025/02/01(土) 12:48:59.04 ID:MtSj47O+0 逆アセw http://mevius.5ch.net/test/read.cgi/tech/1719656321/322
323: デフォルトの名無しさん (ワッチョイ 4e10-EVp+) [sage] 2025/02/01(土) 12:53:04.51 ID:LNgv56j/0 アドレスとかプロセス起動のたびに変わることは無いんだっけ? http://mevius.5ch.net/test/read.cgi/tech/1719656321/323
324: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/02/01(土) 12:59:03.20 ID:dQW8A9nv0 >>323 .NETの場合は当然変わるしネイティブでも設定次第では変わり得る でもそもそもC#やJavaは実行時にその都度機械語を組み立てて行く訳だから、であればその都度埋め込めばいいだけの話 http://mevius.5ch.net/test/read.cgi/tech/1719656321/324
325: デフォルトの名無しさん (ワッチョイ 4e10-EVp+) [sage] 2025/02/01(土) 13:11:42.17 ID:LNgv56j/0 なら結局、ユーザークラスじゃ都度変わりうるってことじゃ? http://mevius.5ch.net/test/read.cgi/tech/1719656321/325
326: デフォルトの名無しさん (ワッチョイ a36b-natb) [sage] 2025/02/01(土) 15:14:32.83 ID:XDtywhx90 >>321 それはJITやAOT後のものを見てるからでしょ JIT/AOT時に異なる相対アドレスに配置できる余地を残すためにC#/ILの段階では固定しない http://mevius.5ch.net/test/read.cgi/tech/1719656321/326
327: デフォルトの名無しさん (ワッチョイ 3f79-sZTl) [sage] 2025/02/02(日) 01:00:15.78 ID:U03i5Xdj0 ILの段階で定数になるなら決め撃ちで問題ないだろ http://mevius.5ch.net/test/read.cgi/tech/1719656321/327
328: デフォルトの名無しさん (ワッチョイ 7f10-cJwu) [sage] 2025/02/02(日) 06:57:31.12 ID:VLFyjNJe0 ユーザークラスがILの段階で決め打ちになるわけないだろ http://mevius.5ch.net/test/read.cgi/tech/1719656321/328
329: デフォルトの名無しさん (ワッチョイ 3f8b-YkUZ) [sage] 2025/02/02(日) 10:55:04.54 ID:NGhOMzti0 ユーザークラスだろうが何だろうが別に関係ないし IL段階で定数になる必要もなくて事実として実行時に機械語になるタイミングで定数化されるんだよ プログラマがその定数にアクセスする手段がないだけで http://mevius.5ch.net/test/read.cgi/tech/1719656321/329
330: デフォルトの名無しさん (ワッチョイ 0fd7-cJwu) [sage] 2025/02/02(日) 11:18:20.90 ID:RNSPFW0b0 実行時にならんと決まらんものは定数じゃねぇ http://mevius.5ch.net/test/read.cgi/tech/1719656321/330
331: デフォルトの名無しさん (ワッチョイ 3f8b-YkUZ) [sage] 2025/02/02(日) 12:43:09.18 ID:NGhOMzti0 定数ってか再三言ってるけど即値だな http://mevius.5ch.net/test/read.cgi/tech/1719656321/331
332: デフォルトの名無しさん (ベーイモ MM8f-VqRJ) [sage] 2025/02/03(月) 22:15:38.62 ID:EtXs2rHFM インスタンスの型の厳密なチェック typeof (X) == x.GetType() やジェネリック型のチェック typeof (T) == typeof (X) はJITで最適化されるから、 質問者のケースがもしこれらに該当するなら変なハックは必要ない http://mevius.5ch.net/test/read.cgi/tech/1719656321/332
333: デフォルトの名無しさん (ワッチョイ 5f90-YkUp) [sage] 2025/04/14(月) 17:39:25.74 ID:XKwEHxpo0 Task<T>を返す非同期メソッドをUIスレッドで呼び出して結果を取得したいのですがどうすればいいのでしょうか? ConfigureAwait(false)の後やTask.Runでスレッドプール上?で実行されてる コード内からメソッドをUIスレッドで呼んで結果を取得したいのです http://mevius.5ch.net/test/read.cgi/tech/1719656321/333
334: デフォルトの名無しさん (ワッチョイ bfbc-6F/1) [sage] 2025/04/16(水) 05:53:28.46 ID:HaWtxdw70 イマイチ質問が把握できないがこういうことか? 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"); } http://mevius.5ch.net/test/read.cgi/tech/1719656321/334
335: デフォルトの名無しさん (ワッチョイ bfbc-6F/1) [sage] 2025/04/16(水) 05:58:12.67 ID:HaWtxdw70 あ、TaskCreationOptionsのTaskが抜けてる… async Task SetTextAsync()の代わりにasync Task<string> GetTextAsync()だったら StartNew<Task<string>>にしてvar text = await task.Resultすればいい http://mevius.5ch.net/test/read.cgi/tech/1719656321/335
336: デフォルトの名無しさん (ワッチョイ 5f90-YkUp) [sage] 2025/04/16(水) 07:31:16.54 ID:QZV5gxIh0 ああ、ありがとうごいます それっぽいです 要はスレッドプールなどで実行されてるメソッドから 途中でダイアログなどを出してユーザのアクションの結果で更に処理を 進めるかキャンセルするかを決定したかったにです 同期コンテキストは調べたのですがこのPostなんたらじゃできないなと.. TaskSchedulerの方から攻めるのですね ありがとうございます http://mevius.5ch.net/test/read.cgi/tech/1719656321/336
337: デフォルトの名無しさん (ワッチョイ 5f90-YkUp) [sage] 2025/04/16(水) 07:41:21.34 ID:QZV5gxIh0 ボタンなど押して非同期メソッドを呼び出す この時、非同期メソッドには介入が必要な時に呼び出される非同期コールバックを渡せるようにする 呼び出し側で、非同期コールバックとして ダイアログなどをだしたりする ダイアログの表示などはUIスレッド実行したかった こんな感じでした http://mevius.5ch.net/test/read.cgi/tech/1719656321/337
338: デフォルトの名無しさん (ワッチョイ 27d7-kxmC) [sage] 2025/04/16(水) 15:31:47.59 ID:yzNZC+ym0 BOOL TestFunc(DWORD dwType, LPBYTE pBuffer, LPDWORD pcbBufSize); dwType:欲しいデータのタイプコード pBuffer:要求したデータを入れるバッファへのポインタ pcbBufSize:pBufferが指すバッファのサイズ 例えば↑のような関数をエクスポートしてるアンマネージDLLがあって DllImportする時のプロトタイプ宣言ってどう書いたらいいんでしょ? http://mevius.5ch.net/test/read.cgi/tech/1719656321/338
339: デフォルトの名無しさん (ワッチョイ 27d7-kxmC) [sage] 2025/04/16(水) 15:33:52.84 ID:yzNZC+ym0 LPDWORDはref uintでいいのかなと思うけど LPBYTEとか、それこそLPVOIDだのハンドル系受け取る引数なんかはどう宣言したものかよく解らなくて http://mevius.5ch.net/test/read.cgi/tech/1719656321/339
340: デフォルトの名無しさん (ワッチョイ bfbc-6F/1) [sage] 2025/04/16(水) 19:05:55.86 ID:HaWtxdw70 典型的にはこう bool TestFunc(uint dwType, byte[] pBuffer, out uint pcbBufSize); ref/outで宣言すると使いやすいけどNULLを渡せなくなるってのが問題になったりすることもある ケースバイケースなので一概には言えない ポインタが絡むなら誰がメモリ確保して誰がどうやって解放するのかを把握してないといけない場合もある http://mevius.5ch.net/test/read.cgi/tech/1719656321/340
341: デフォルトの名無しさん (オイコラミネオ MM0b-z3tz) [sage] 2025/04/16(水) 19:58:01.06 ID:VD2CYluqM 第三引数は普通はoutじゃないきがするけど http://mevius.5ch.net/test/read.cgi/tech/1719656321/341
342: デフォルトの名無しさん (ブーイモ MM8f-xKSY) [sage] 2025/04/16(水) 20:27:15.14 ID:qW3EbLcWM outだと呼び出し元からバッファサイズを渡せないな http://mevius.5ch.net/test/read.cgi/tech/1719656321/342
343: デフォルトの名無しさん (ワッチョイ 7f10-z3tz) [sage] 2025/04/16(水) 20:47:35.76 ID:JiAmFx7+0 refじゃあかんの? http://mevius.5ch.net/test/read.cgi/tech/1719656321/343
344: デフォルトの名無しさん (ワッチョイ 27d7-kxmC) [sage] 2025/04/16(水) 20:48:46.57 ID:yzNZC+ym0 >>340 おぉ、ありがとう ちょっとそれ元に弄ってみるます http://mevius.5ch.net/test/read.cgi/tech/1719656321/344
345: デフォルトの名無しさん (ワッチョイ ed96-VXNn) [] 2025/04/20(日) 10:42:31.48 ID:T4EZ0xEH0 refとかout使うと機械語的にはゴミラッパーが生成される ついでにboolも実はネイティブ型ではないので同様にゴミが生成される 多少可読性や安全性を犠牲にして良いなら int TestFunc(uint dwType, byte* pBuffer, uint* pcbBufSize)とすればC/C++と遜色ない機械語になる 戻り値はintなので != 0としてbool判定をする手間がかかるけどね ついでに.NETCore系統で且つ内部でIOなどを行わずに計算量が少なく割とすぐ戻る事が確定している場合は[DllImport("native.dll"), SuppressGCTransition]とすると尚良し http://mevius.5ch.net/test/read.cgi/tech/1719656321/345
346: デフォルトの名無しさん (ワッチョイ ed96-VXNn) [] 2025/04/20(日) 10:47:34.35 ID:T4EZ0xEH0 もしネイティブ側の戻り値がBOOLではなくboolならC#側はbyteにすればいい boolって実は結構罠だからな http://mevius.5ch.net/test/read.cgi/tech/1719656321/346
347: デフォルトの名無しさん (ワッチョイ 4954-EnZh) [sage] 2025/04/21(月) 11:37:03.90 ID:ed9AfVbw0 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 http://mevius.5ch.net/test/read.cgi/tech/1719656321/347
348: デフォルトの名無しさん (ワッチョイ 6610-h0BB) [sage] 2025/04/21(月) 14:43:06.51 ID:AUqiwuPT0 何のためのVOIDポインタかで変わるしIntPtrで良いもんでもないわ まぁなんだ、CharGPTなんて言うアホは黙っとけw http://mevius.5ch.net/test/read.cgi/tech/1719656321/348
349: デフォルトの名無しさん (ワッチョイ a6ce-i6bQ) [] 2025/04/22(火) 19:34:21.37 ID:rMo0RJWh0 Copilot「僕の出番ですね!」 http://mevius.5ch.net/test/read.cgi/tech/1719656321/349
350: デフォルトの名無しさん (ワッチョイ 79d7-vVAN) [sage] 2025/04/23(水) 08:49:37.84 ID:eLYGqJZZ0 去ね http://mevius.5ch.net/test/read.cgi/tech/1719656321/350
351: デフォルトの名無しさん (スフッ Sd0a-NF34) [] 2025/04/23(水) 12:17:26.63 ID:snQ3Sxp8d wchar : 「神は我を見放したのか」 http://mevius.5ch.net/test/read.cgi/tech/1719656321/351
352: デフォルトの名無しさん (オイコラミネオ MM71-h0BB) [sage] 2025/04/23(水) 20:01:13.83 ID:WPvg2tW3M >>347 ChatGPTはc#弱いな http://mevius.5ch.net/test/read.cgi/tech/1719656321/352
353: 警備員[Lv.1][新芽] (ワッチョイ a69e-kvZ8) [sage] 2025/04/24(木) 01:47:59.03 ID:MPcZRdS90 >>345 最近のC#はMIL(IL?)でなくマシン語を直接()生成するようになったのですか http://mevius.5ch.net/test/read.cgi/tech/1719656321/353
354: デフォルトの名無しさん (ワッチョイ f978-fvra) [] 2025/04/24(木) 21:13:01.92 ID:985jarF60 >>353 最近は native AOT といってそういうことができる リフレクションが使えないなど制限もあるけど 元のレス先の345は、たぶん native AOT とか関係なく、中間言語が生成するコードも指して機械語と言ってると思う http://mevius.5ch.net/test/read.cgi/tech/1719656321/354
355: 警備員[Lv.3][新芽] (ワッチョイ 65eb-kvZ8) [sage] 2025/04/24(木) 21:27:22.97 ID:WNuC4TAo0 >>354 なるほど、ありがとうございました!! http://mevius.5ch.net/test/read.cgi/tech/1719656321/355
356: デフォルトの名無しさん (ワッチョイ ed96-VXNn) [] 2025/04/25(金) 11:23:25.63 ID:reKQm/Xa0 >>354 ILの話はしてない nativeAOT及びJITが最終的に生成するアセンブラを指して言ってる パフォーマンス目的でC/C++と連携しようとすると返ってパフォーマンス落ちる事も多いからな 機械生成のゴミラッパーが挟まると呼び出しコストがdll内部のルーチンより1万倍掛かるとかザラにあるし http://mevius.5ch.net/test/read.cgi/tech/1719656321/356
357: デフォルトの名無しさん (ワッチョイ 79d7-vVAN) [sage] 2025/04/25(金) 12:53:18.17 ID:RL99gkZ90 まぁ、アンマネージ呼び出しをパフォーマンス目的でやるもんじゃないしな http://mevius.5ch.net/test/read.cgi/tech/1719656321/357
358: デフォルトの名無しさん (ワッチョイ 3778-8SS3) [sage] 2025/04/27(日) 16:38:33.85 ID:jnYDAPp70 LibraryImport属性を使うとDllImport属性より最適化されたコードが出力されたりするの? http://mevius.5ch.net/test/read.cgi/tech/1719656321/358
359: デフォルトの名無しさん (ワッチョイ 7761-tU9d) [] 2025/05/03(土) 12:39:00.86 ID:GwMmJ/YG0 オリジナルのDataGridViewの列を作りたいんですが、デザインビューのDataGridViewからオリジナルの列を追加する方法ってありますか? http://mevius.5ch.net/test/read.cgi/tech/1719656321/359
360: デフォルトの名無しさん (ワッチョイ d7d7-U1DS) [sage] 2025/05/03(土) 14:19:24.20 ID:ZbkD0HOB0 >>359 オーナードローしたいという事? http://mevius.5ch.net/test/read.cgi/tech/1719656321/360
361: デフォルトの名無しさん (オイコラミネオ MM5b-5rsl) [sage] 2025/05/03(土) 14:43:58.59 ID:rfaECn6+M 列A 列Bがあって 列C作ってA+Bを表示したいと言うことでは? http://mevius.5ch.net/test/read.cgi/tech/1719656321/361
362: デフォルトの名無しさん (ワッチョイ 7761-tU9d) [] 2025/05/03(土) 15:51:35.38 ID:GwMmJ/YG0 DataGridViewColumnを派生させたオリジナルの列をフォームデザインビューから列に追加したいんです http://mevius.5ch.net/test/read.cgi/tech/1719656321/362
363: デフォルトの名無しさん (ワッチョイ 9f79-q4+Y) [] 2025/05/03(土) 16:55:23.30 ID:h9Jrb8E+0 lこの辺りを駆使してDataGridViewColumnクラスを作るとか https://dobon.net/vb/dotnet/graphics/drawcontrols.html http://mevius.5ch.net/test/read.cgi/tech/1719656321/363
364: デフォルトの名無しさん (ワッチョイ 9f68-VDOd) [] 2025/05/03(土) 18:56:11.65 ID:Q4RX0Sa/0 スマホとPCの作業を効率化したい--「Copilot Vision」の便利な8つの活用例 2025-05-03 07:00 https://japan.zdnet.com/article/35232549/ 1 プログらまーまこれを改造してるので上記以外の状態でも使用できるようにしている 2 すでにプログラムがあるので1〜コードを作成する必要が無い ボイス・トォ・スカルの本態が一般パソコンにまで来たのでつい買い捨てができるようになった マネーロンダリング 談合 インサイダー などがはかどるといわれる http://mevius.5ch.net/test/read.cgi/tech/1719656321/364
365: デフォルトの名無しさん (ワッチョイ cf7e-Enlg) [] 2025/05/05(月) 08:51:14.85 ID:wERx/Nt90 “イリヤ神”がまたやった 動画生成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時間くらいは見ておく必要があるものの、圧倒的にハードルが下がりました。 http://mevius.5ch.net/test/read.cgi/tech/1719656321/365
366: デフォルトの名無しさん (ワッチョイ cff0-Enlg) [] 2025/05/07(水) 15:21:51.01 ID:Nuqzm3Wk0 下記は全て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 http://mevius.5ch.net/test/read.cgi/tech/1719656321/366
367: デフォルトの名無しさん (ワッチョイ 63d7-JZTP) [sage] 2025/05/07(水) 16:08:58.47 ID:9Z9/upda0 余所でやれカス http://mevius.5ch.net/test/read.cgi/tech/1719656321/367
368: デフォルトの名無しさん (アウアウウー Sac3-7Zak) [sage] 2025/05/08(木) 10:26:27.15 ID:8ptxnmrna 余所でやれとあなたが言ったから 色んなスレにマルチされたので 5月7日はマルチ記念日 http://mevius.5ch.net/test/read.cgi/tech/1719656321/368
369: デフォルトの名無しさん (ワッチョイ 7540-gmcI) [] 2025/06/16(月) 03:18:14.57 ID:BRbK5XdC0 IDisposableを実装したクラスのインスタンスがもし破棄されていたら再度生成するために、 if(instance.IsDisposed || instance == null){ instance = new MyClass(); } という書き方してるんですが、(obj != null)の部分って意味ないんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1719656321/369
370: 369 (ワッチョイ 7540-gmcI) [sage] 2025/06/16(月) 03:32:02.55 ID:BRbK5XdC0 すみません。ChatGPTが下記の回答をくれました。 instance が null の場合、insntace.IsDiposed の評価時に NullReferenceException が発生してしまうので、 if(instance == null || instance.IsDisposed){ instance = new MyClass(); } にしなければならない。 必要かどうか。 設計上 instance が null になる可能性がある場合、null チェックは必要。 絶対に null にならないように管理されている場合、null チェックは不要。 「instance がまだ生成されていない、または使えない状態になったときに再生成する。」 という目的が明確にある場合、妥当で意味のある書き方です。 http://mevius.5ch.net/test/read.cgi/tech/1719656321/370
371: デフォルトの名無しさん (ワッチョイ ce01-zY++) [sage] 2025/06/16(月) 10:34:42.11 ID:Nk3UlLjY0 そもそも変数を使いまわそうとしているのが間違い using等でスコープと連動させて管理すべき http://mevius.5ch.net/test/read.cgi/tech/1719656321/371
372: デフォルトの名無しさん (ワッチョイ b6b8-Is3k) [] 2025/06/16(月) 12:34:32.54 ID:rtKSn8210 >>370 もうほんのちょいだけ突っ込んだ解説すると、||演算子は左から評価を行い、左がtrueになった時点で右は評価を行わない ゆえに、nullが渡ってくる可能性がある場合には~というChatGPTの回答に繋がる http://mevius.5ch.net/test/read.cgi/tech/1719656321/372
373: デフォルトの名無しさん (ワッチョイ 8d1e-Q7Of) [sage] 2025/06/16(月) 14:51:53.15 ID:IaYLbsBg0 >>372 ショートサーキットの有無は全然関係ないだろ ChatGPTのダメ回答にさらに間違ったダメ解説を付け足すなよ http://mevius.5ch.net/test/read.cgi/tech/1719656321/373
374: デフォルトの名無しさん (ワッチョイ 5e10-15C+) [sage] 2025/06/16(月) 17:32:21.61 ID:MOf8oPnJ0 草 http://mevius.5ch.net/test/read.cgi/tech/1719656321/374
375: デフォルトの名無しさん (ワッチョイ 75d9-XPp7) [sage] 2025/06/16(月) 18:04:45.11 ID:wwT4Yc020 >(obj != null)の部分って意味ないんでしょうか? (obj != null)の部分が見当たらない問題 http://mevius.5ch.net/test/read.cgi/tech/1719656321/375
376: デフォルトの名無しさん (ワッチョイ b6b8-Is3k) [] 2025/06/16(月) 19:27:49.53 ID:rtKSn8210 フェイルセーフで実装するコードに対して、全体見えないのに設計直せは草しか生えない。ChatGPTでもやらん暴挙 その上でなぜ左右逆だといけないのかの解説に対してショートサーキットの有無は関係ないとかガチで草 http://mevius.5ch.net/test/read.cgi/tech/1719656321/376
377: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/16(月) 19:46:50.44 ID:oIohr+2JM その前にフェイルセーフなのかどうかすらわからないと思う ここでしか初期化していないならフェイルセーフではない http://mevius.5ch.net/test/read.cgi/tech/1719656321/377
378: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/16(月) 19:54:04.99 ID:oIohr+2JM フェイルセーフ 例えば信号が壊れたときに赤になるようにしてあれば交差点に通常運転で突っ込む事故が起こらない 壊れるにしても事態を安全な方向に振ること 初期化忘れや破棄されたインスタンス等を初期化するのはフェイルセーフではない http://mevius.5ch.net/test/read.cgi/tech/1719656321/378
379: デフォルトの名無しさん (ワッチョイ 75d9-Q7Of) [sage] 2025/06/16(月) 21:31:49.20 ID:wwT4Yc020 >>376 なぜ左右逆だといけないのかとショートサーキットの有無は関係ないんだけど指摘されてもマジでわかんないのか ChatGPTの回答もう一度読んでみ? あとはショートサーキット無しの|演算子にしたら問題がなくなるのかどうか考えてみ? http://mevius.5ch.net/test/read.cgi/tech/1719656321/379
380: デフォルトの名無しさん (ワッチョイ ad01-xkro) [] 2025/06/16(月) 22:33:11.11 ID:GWwonttx0 >>379 ああ言われて気づいた、説明間違ってたわ 最初のコードだと、左から判断を行うので、instance.IsDisposedを判定するときにinstanceがnullの場合にエラーが発生する けど逆にするとinstance == nullではじくので、instance.IsDisposedは判定しなくなる http://mevius.5ch.net/test/read.cgi/tech/1719656321/380
381: デフォルトの名無しさん (ワッチョイ ad01-xkro) [] 2025/06/16(月) 22:37:37.67 ID:GWwonttx0 はじくじゃねーや、また言葉間違ってる 最初のコードだと、左から判断を行うのでnstanceがnullの場合にinstance.IsDisposeでNullにアクセスしようとしてぬるぽが発生する けど逆にするとinstanceがnullの場合は左の条件だけで生成に向かい、またinstanceがnullではない場合には誤ってDisposeされているかどうかで判断して再生成する http://mevius.5ch.net/test/read.cgi/tech/1719656321/381
382: デフォルトの名無しさん (ワッチョイ 9e64-ws5E) [sage] 2025/06/17(火) 03:09:44.29 ID:37ojnUDK0 今の世の中AIがあんのにまだこんな場末のド素人のホビープログラマーと知ったかの吹き溜まりにきよんのか理解に苦しむんやがwww まぁAIの使い方すらわからん低脳チンパンやからこんなまともな回答が返ってこーへんスレで質問しとんのやろーなクソワロタ http://mevius.5ch.net/test/read.cgi/tech/1719656321/382
383: デフォルトの名無しさん (ワッチョイ 9e27-T1jw) [] 2025/06/17(火) 03:15:38.49 ID:TyHic1BD0 なるほどこれがチンパンジーか http://mevius.5ch.net/test/read.cgi/tech/1719656321/383
384: デフォルトの名無しさん (アウアウウー Sacd-xHx3) [] 2025/06/17(火) 19:36:15.47 ID:ItQB0Ii0a 答えもらうつもりで来とるやつなんかおらんやろ http://mevius.5ch.net/test/read.cgi/tech/1719656321/384
385: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/17(火) 20:04:41.87 ID:lyLRSSY/M >>381 あんたの言葉の方が、native 日本人にはおかしく聞こえる。 380 の説明は自然な日本語であり、論理的にも正確。 http://mevius.5ch.net/test/read.cgi/tech/1719656321/385
386: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/17(火) 20:06:58.69 ID:lyLRSSY/M >>379 || 演算子のショートサーキット評価 (短絡評価) は大いに関係ある。 http://mevius.5ch.net/test/read.cgi/tech/1719656321/386
387: デフォルトの名無しさん (ワッチョイ 5e10-15C+) [sage] 2025/06/17(火) 20:46:19.23 ID:QaggVUGV0 null判定を後に書いちゃうのはショートサーキット評価有無以前の問題だって話だろ http://mevius.5ch.net/test/read.cgi/tech/1719656321/387
388: デフォルトの名無しさん (オイコラミネオ MMc6-Rgxs) [sage] 2025/06/17(火) 22:02:13.98 ID:EAFPsc4EM >>387 何言ってんだか。 http://mevius.5ch.net/test/read.cgi/tech/1719656321/388
389: デフォルトの名無しさん (ワッチョイ 754e-x4hs) [] 2025/06/17(火) 22:56:13.68 ID:6ofORGWH0 null合体演算子を使う方法もある if (instance?.IsDisposed ?? true) {...} 「ヌルの場合は」という条件を強く示したいなら is null を明示して良いと思うけど、個人的にはこちらの方が簡潔に感じる できればプロジェクトの設定でnull参照許容型を有効にして、 instance が null になり得るかを宣言時に分かるようにするとベター (null になり得るなら MyClass? instance のように書く) これが有効なプロジェクトなら、nullにならないもの (?がついてない変数やフィールド) についての null チェックはしなくて良い http://mevius.5ch.net/test/read.cgi/tech/1719656321/389
390: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/17(火) 23:34:10.59 ID:iqT3/wLqM それをコードそのまんまで日本語化してみろよ 基地外じみた内容にしかならない http://mevius.5ch.net/test/read.cgi/tech/1719656321/390
391: デフォルトの名無しさん (ワッチョイ 12e9-r7WK) [sage] 2025/06/18(水) 08:47:51.67 ID:KyoQ8vl80 ミネオはキチガイしか居らんのか http://mevius.5ch.net/test/read.cgi/tech/1719656321/391
392: デフォルトの名無しさん (ワッチョイ 794b-jgBs) [] 2025/06/18(水) 17:42:58.37 ID:SrJIdorw0 世界最長のコンテキストウィンドウ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は嘘の情報を一部混ぜて人間を洗脳できる http://mevius.5ch.net/test/read.cgi/tech/1719656321/392
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.023s