C#, C♯, C#相談室 Part98 (396レス)
1-

1: デフォルトの名無しさん (ワッチョイ 7f6a-B4f6) [sage] 2024/06/29(土) 19:18:41.95 ID:NohAfdfx0(1) AAS
!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
2chスレ:tech

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。 VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
297: デフォルトの名無しさん (ワッチョイ 7b8b-vY+B) [sage] 2024/12/23(月) 17:42:25.10 ID:HWay8A+S0(2/2) AAS
>>293
マルチメインじゃなくmodフレンドリーなゲームならil2cpp化せずそのまま出してるゲームも普通に多いよ
改変やチート防止のためなら難読化含めてやったところでそこまで難易度上がらないからそれ目的ならRustみたいにカーネルドライバ付けるしかない
298: デフォルトの名無しさん (ワッチョイ a374-PrDn) [sage] 2024/12/24(火) 18:58:01.04 ID:9YLK2p020(1) AAS
個人開発の局所的な用途のマイナーツールの話が原発の建設並の重大事なのか
ちょっと難しすぎてわかんねえな
299: デフォルトの名無しさん (ワッチョイ df79-0Q8V) [sage] 2024/12/24(火) 19:41:54.52 ID:RgkKZ0Pj0(1) AAS
原発ってただの湯沸かし器じゃん
燃料がちょっとヤバイってだけで高尚なC#のプログラムと比較すんなよ
300: デフォルトの名無しさん (スッップ Sdaf-3P54) [sage] 2024/12/25(水) 08:00:53.24 ID:vP0zyznod(1) AAS
C#だってただの道具
しかもC#だけじゃお湯も沸かせない
高尚とかちゃんちゃらおかしい
301: デフォルトの名無しさん (ワッチョイ 57ef-FEgH) [sage] 2024/12/25(水) 08:26:32.01 ID:ML8x6ihA0(1) AAS
ツールは手段であって目的はアクセシビリティバイパスだから言語レベルのスケールの話な
実際これ求めてる人は少なくないからUnsafeAccessorが実装された訳で
てかリフレクションの方が文字列で指定してる分よっぽど危険だと思うんだけどな
302: デフォルトの名無しさん (ワッチョイ df79-0Q8V) [sage] 2024/12/25(水) 21:07:50.83 ID:G9TljzDw0(1) AAS
エロがビデオを進化させてきようにチートがソフトウェアを進化させるんだよ
湯沸かししかできない原発野郎は難しいなら黙ってろ
303: デフォルトの名無しさん (ワッチョイ 5761-PrDn) [sage] 2024/12/25(水) 21:35:48.64 ID:7oEpQVAc0(1) AAS
煽りたいだけのやつが居着いちゃってるのか、このスレ
304: デフォルトの名無しさん (ワッチョイ b310-3P54) [sage] 2024/12/25(水) 21:39:40.34 ID:WXVFxdaX0(1) AAS
いつものことだよあぼーんしときな
305: デフォルトの名無しさん (ワッチョイ 832b-8NiF) [sage] 2024/12/25(水) 21:44:21.01 ID:WWJbrOfz0(1) AAS
だぁ~から
ドーンおじはコテ付けろや
306: デフォルトの名無しさん (ワッチョイ 3ec0-m72+) [sage] 2025/01/01(水) 16:01:04.94 ID:nGCOTvnw0(1/3) AAS
Enum.IsDefined(enumType, intValue)ってボックス化する?

AIに聞いたら最初は「ボックス化しない」とか言われたんだけど、第2引数がobject型として受け取ることを指摘したら「ボックス化するかもしれません」みたいな曖昧な返答されてよく分からなくなってきた
307: デフォルトの名無しさん (ワッチョイ 9a8b-tkBd) [sage] 2025/01/01(水) 16:03:34.19 ID:zfs+VkVC0(1) AAS
object型ならするよ
.NETのバージョンにもよるけどgeneric版の方が型がコンパイル時解決されるからパフォーマンスは良い
308: デフォルトの名無しさん (ワッチョイ 3ec0-m72+) [sage] 2025/01/01(水) 16:07:11.80 ID:nGCOTvnw0(2/3) AAS
だよね ありがとう
309: デフォルトの名無しさん (ワッチョイ 3ec0-m72+) [sage] 2025/01/01(水) 16:23:43.79 ID:nGCOTvnw0(3/3) AAS
確かにジェネリクスで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: デフォルトの名無しさん (ワッチョイ 63eb-UqtM) [] 2025/01/01(水) 22:57:38.89 ID:tBHA6FMH0(1) AAS
JetbrainsやILSpyでIL見てboxあるかどうかみればいいんじゃね
311: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/01/31(金) 11:32:40.83 ID:jXb+sjQI0(1/4) AAS
ハック的なことなんだけどインスタンスのオブジェクトヘッダに埋め込まれるクラスハンドルへのポインタ?をインスタンス無しで得る方法って無いかな
typeof(MyClass)ってすると正にそのポインタが「mov rcx, 7FFB716DE758 -> call clrのtype取得関数」って感じのアセンブラが生成される訳だけど、その7FFB716DE758を得たいんだよね
インスタンスがあればUnsafeライブラリ用いて簡単に得られるのだけど
312: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/01/31(金) 11:34:05.08 ID:jXb+sjQI0(2/4) AAS
文章修正してたら日本語おかしくなったけどもし知ってる方いたらヒントでも何でも教えていただきたい
313
(1): デフォルトの名無しさん (ワッチョイ 9714-natb) [sage] 2025/01/31(金) 12:00:57.31 ID:ejyfLYzx0(1) AAS
GetTypeで得られるものとは違うわけ?
314: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/01/31(金) 12:51:25.22 ID:jXb+sjQI0(3/4) AAS
>>313
GetTypeやtypeofで得られるものはあくまでもType型のマネージドインスタンスだから全く違う
だけど逆アセをするとtypeof()時には即値でハンドルへのポインタ?がアセンブラコードとして埋め込まれてるので内部的にはめちゃくちゃ簡単に得る方法があるはずなんだよね
315: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/01/31(金) 14:52:24.28 ID:jXb+sjQI0(4/4) AAS
一応自己解決だけどGetTypeやtypeofで得られたTypeインスタンスから「type.TypeHandle.Value」で希望のものは得られた
本来即値で得られるはずなのに冗長でもやもやはするが
316: デフォルトの名無しさん (ワッチョイ 1a9d-natb) [sage] 2025/01/31(金) 15:09:15.71 ID:gpRv5mHv0(1) AAS
ChatGPTに聞いたら同じ答えが返ってきたけどRuntimeTypeHandle.Valueは環境によってメソッドテーブルへのポインタじゃなくEETypeへのポインタや実装依存のメタデータへのポインタになる場合もあるから自分で確認しろよとのこと
317: デフォルトの名無しさん (ワッチョイ 4e10-EVp+) [sage] 2025/02/01(土) 06:49:44.36 ID:LNgv56j/0(1/3) AAS
そらJITなんだから・・・
318: デフォルトの名無しさん (ワッチョイ 1a9d-natb) [sage] 2025/02/01(土) 10:13:37.11 ID:m26c//aC0(1/2) AAS
いやJITは関係ないぞ
319: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/02/01(土) 11:06:41.29 ID:dQW8A9nv0(1/3) AAS
JITだろうが何だろうがconst intなんかは即値で埋め込まれるしね
だからクラス名.TypeHandleValueみたいなconst持っててくれたら嬉しいんだけど需要ほぼゼロすぎるか
320: デフォルトの名無しさん (ワッチョイ 1a9d-natb) [sage] 2025/02/01(土) 12:12:47.05 ID:m26c//aC0(2/2) AAS
ん?即値で得られない理由の話だったか
そっちならJIT関係あるわな
321
(1): デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/02/01(土) 12:17:46.65 ID:dQW8A9nv0(2/3) AAS
いや関係ないよ
なぜなら逆アセすれば分かるけど思いっきりレジスタ長以下のconst同様の挙動を見せてるからね
typeof時にね
322: デフォルトの名無しさん (ワッチョイ 17d7-EVp+) [sage] 2025/02/01(土) 12:48:59.04 ID:MtSj47O+0(1) AAS
逆アセw
323
(1): デフォルトの名無しさん (ワッチョイ 4e10-EVp+) [sage] 2025/02/01(土) 12:53:04.51 ID:LNgv56j/0(2/3) AAS
アドレスとかプロセス起動のたびに変わることは無いんだっけ?
324: デフォルトの名無しさん (ワッチョイ 9a8b-IJXt) [sage] 2025/02/01(土) 12:59:03.20 ID:dQW8A9nv0(3/3) AAS
>>323
.NETの場合は当然変わるしネイティブでも設定次第では変わり得る
でもそもそもC#やJavaは実行時にその都度機械語を組み立てて行く訳だから、であればその都度埋め込めばいいだけの話
325: デフォルトの名無しさん (ワッチョイ 4e10-EVp+) [sage] 2025/02/01(土) 13:11:42.17 ID:LNgv56j/0(3/3) AAS
なら結局、ユーザークラスじゃ都度変わりうるってことじゃ?
326: デフォルトの名無しさん (ワッチョイ a36b-natb) [sage] 2025/02/01(土) 15:14:32.83 ID:XDtywhx90(1) AAS
>>321
それはJITやAOT後のものを見てるからでしょ
JIT/AOT時に異なる相対アドレスに配置できる余地を残すためにC#/ILの段階では固定しない
327: デフォルトの名無しさん (ワッチョイ 3f79-sZTl) [sage] 2025/02/02(日) 01:00:15.78 ID:U03i5Xdj0(1) AAS
ILの段階で定数になるなら決め撃ちで問題ないだろ
328: デフォルトの名無しさん (ワッチョイ 7f10-cJwu) [sage] 2025/02/02(日) 06:57:31.12 ID:VLFyjNJe0(1) AAS
ユーザークラスがILの段階で決め打ちになるわけないだろ
329: デフォルトの名無しさん (ワッチョイ 3f8b-YkUZ) [sage] 2025/02/02(日) 10:55:04.54 ID:NGhOMzti0(1/2) AAS
ユーザークラスだろうが何だろうが別に関係ないし
IL段階で定数になる必要もなくて事実として実行時に機械語になるタイミングで定数化されるんだよ
プログラマがその定数にアクセスする手段がないだけで
330: デフォルトの名無しさん (ワッチョイ 0fd7-cJwu) [sage] 2025/02/02(日) 11:18:20.90 ID:RNSPFW0b0(1) AAS
実行時にならんと決まらんものは定数じゃねぇ
331: デフォルトの名無しさん (ワッチョイ 3f8b-YkUZ) [sage] 2025/02/02(日) 12:43:09.18 ID:NGhOMzti0(2/2) AAS
定数ってか再三言ってるけど即値だな
332: デフォルトの名無しさん (ベーイモ MM8f-VqRJ) [sage] 2025/02/03(月) 22:15:38.62 ID:EtXs2rHFM(1) AAS
インスタンスの型の厳密なチェック typeof (X) == x.GetType() やジェネリック型のチェック typeof (T) == typeof (X) はJITで最適化されるから、
質問者のケースがもしこれらに該当するなら変なハックは必要ない
333: デフォルトの名無しさん (ワッチョイ 5f90-YkUp) [sage] 2025/04/14(月) 17:39:25.74 ID:XKwEHxpo0(1) AAS
Task<T>を返す非同期メソッドをUIスレッドで呼び出して結果を取得したいのですがどうすればいいのでしょうか?
ConfigureAwait(false)の後やTask.Runでスレッドプール上?で実行されてる
コード内からメソッドをUIスレッドで呼んで結果を取得したいのです
334: デフォルトの名無しさん (ワッチョイ bfbc-6F/1) [sage] 2025/04/16(水) 05:53:28.46 ID:HaWtxdw70(1/3) AAS
イマイチ質問が把握できないがこういうことか?
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: デフォルトの名無しさん (ワッチョイ bfbc-6F/1) [sage] 2025/04/16(水) 05:58:12.67 ID:HaWtxdw70(2/3) AAS
あ、TaskCreationOptionsのTaskが抜けてる…
async Task SetTextAsync()の代わりにasync Task<string> GetTextAsync()だったら
StartNew<Task<string>>にしてvar text = await task.Resultすればいい
336: デフォルトの名無しさん (ワッチョイ 5f90-YkUp) [sage] 2025/04/16(水) 07:31:16.54 ID:QZV5gxIh0(1/2) AAS
ああ、ありがとうごいます
それっぽいです
要はスレッドプールなどで実行されてるメソッドから
途中でダイアログなどを出してユーザのアクションの結果で更に処理を
進めるかキャンセルするかを決定したかったにです

同期コンテキストは調べたのですがこのPostなんたらじゃできないなと..
TaskSchedulerの方から攻めるのですね

ありがとうございます
337: デフォルトの名無しさん (ワッチョイ 5f90-YkUp) [sage] 2025/04/16(水) 07:41:21.34 ID:QZV5gxIh0(2/2) AAS
ボタンなど押して非同期メソッドを呼び出す
この時、非同期メソッドには介入が必要な時に呼び出される非同期コールバックを渡せるようにする

呼び出し側で、非同期コールバックとして
ダイアログなどをだしたりする
ダイアログの表示などはUIスレッド実行したかった

こんな感じでした
338: デフォルトの名無しさん (ワッチョイ 27d7-kxmC) [sage] 2025/04/16(水) 15:31:47.59 ID:yzNZC+ym0(1/3) AAS
BOOL TestFunc(DWORD dwType, LPBYTE pBuffer, LPDWORD pcbBufSize);
dwType:欲しいデータのタイプコード
pBuffer:要求したデータを入れるバッファへのポインタ
pcbBufSize:pBufferが指すバッファのサイズ

例えば↑のような関数をエクスポートしてるアンマネージDLLがあって
DllImportする時のプロトタイプ宣言ってどう書いたらいいんでしょ?
339: デフォルトの名無しさん (ワッチョイ 27d7-kxmC) [sage] 2025/04/16(水) 15:33:52.84 ID:yzNZC+ym0(2/3) AAS
LPDWORDはref uintでいいのかなと思うけど
LPBYTEとか、それこそLPVOIDだのハンドル系受け取る引数なんかはどう宣言したものかよく解らなくて
340
(1): デフォルトの名無しさん (ワッチョイ bfbc-6F/1) [sage] 2025/04/16(水) 19:05:55.86 ID:HaWtxdw70(3/3) AAS
典型的にはこう
bool TestFunc(uint dwType, byte[] pBuffer, out uint pcbBufSize);
ref/outで宣言すると使いやすいけどNULLを渡せなくなるってのが問題になったりすることもある
ケースバイケースなので一概には言えない
ポインタが絡むなら誰がメモリ確保して誰がどうやって解放するのかを把握してないといけない場合もある
341: デフォルトの名無しさん (オイコラミネオ MM0b-z3tz) [sage] 2025/04/16(水) 19:58:01.06 ID:VD2CYluqM(1) AAS
第三引数は普通はoutじゃないきがするけど
342: デフォルトの名無しさん (ブーイモ MM8f-xKSY) [sage] 2025/04/16(水) 20:27:15.14 ID:qW3EbLcWM(1) AAS
outだと呼び出し元からバッファサイズを渡せないな
343: デフォルトの名無しさん (ワッチョイ 7f10-z3tz) [sage] 2025/04/16(水) 20:47:35.76 ID:JiAmFx7+0(1) AAS
refじゃあかんの?
344: デフォルトの名無しさん (ワッチョイ 27d7-kxmC) [sage] 2025/04/16(水) 20:48:46.57 ID:yzNZC+ym0(3/3) AAS
>>340
おぉ、ありがとう
ちょっとそれ元に弄ってみるます
345
(1): デフォルトの名無しさん (ワッチョイ ed96-VXNn) [] 2025/04/20(日) 10:42:31.48 ID:T4EZ0xEH0(1/2) AAS
refとかout使うと機械語的にはゴミラッパーが生成される
ついでにboolも実はネイティブ型ではないので同様にゴミが生成される
多少可読性や安全性を犠牲にして良いなら
int TestFunc(uint dwType, byte* pBuffer, uint* pcbBufSize)とすればC/C++と遜色ない機械語になる
戻り値はintなので != 0としてbool判定をする手間がかかるけどね

ついでに.NETCore系統で且つ内部でIOなどを行わずに計算量が少なく割とすぐ戻る事が確定している場合は[DllImport("native.dll"), SuppressGCTransition]とすると尚良し
346: デフォルトの名無しさん (ワッチョイ ed96-VXNn) [] 2025/04/20(日) 10:47:34.35 ID:T4EZ0xEH0(2/2) AAS
もしネイティブ側の戻り値がBOOLではなくboolならC#側はbyteにすればいい
boolって実は結構罠だからな
347
(1): デフォルトの名無しさん (ワッチョイ 4954-EnZh) [sage] 2025/04/21(月) 11:37:03.90 ID:ed9AfVbw0(1) AAS
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: デフォルトの名無しさん (ワッチョイ 6610-h0BB) [sage] 2025/04/21(月) 14:43:06.51 ID:AUqiwuPT0(1) AAS
何のためのVOIDポインタかで変わるしIntPtrで良いもんでもないわ
まぁなんだ、CharGPTなんて言うアホは黙っとけw
349: デフォルトの名無しさん (ワッチョイ a6ce-i6bQ) [] 2025/04/22(火) 19:34:21.37 ID:rMo0RJWh0(1) AAS
Copilot「僕の出番ですね!」
350: デフォルトの名無しさん (ワッチョイ 79d7-vVAN) [sage] 2025/04/23(水) 08:49:37.84 ID:eLYGqJZZ0(1) AAS
去ね
351: デフォルトの名無しさん (スフッ Sd0a-NF34) [] 2025/04/23(水) 12:17:26.63 ID:snQ3Sxp8d(1) AAS
wchar : 「神は我を見放したのか」
352: デフォルトの名無しさん (オイコラミネオ MM71-h0BB) [sage] 2025/04/23(水) 20:01:13.83 ID:WPvg2tW3M(1) AAS
>>347
ChatGPTはc#弱いな
353
(1): 警備員[Lv.1][新芽] (ワッチョイ a69e-kvZ8) [sage] 2025/04/24(木) 01:47:59.03 ID:MPcZRdS90(1) AAS
>>345
最近のC#はMIL(IL?)でなくマシン語を直接()生成するようになったのですか
354
(2): デフォルトの名無しさん (ワッチョイ f978-fvra) [] 2025/04/24(木) 21:13:01.92 ID:985jarF60(1) AAS
>>353
最近は native AOT といってそういうことができる
リフレクションが使えないなど制限もあるけど

元のレス先の345は、たぶん native AOT とか関係なく、中間言語が生成するコードも指して機械語と言ってると思う
355: 警備員[Lv.3][新芽] (ワッチョイ 65eb-kvZ8) [sage] 2025/04/24(木) 21:27:22.97 ID:WNuC4TAo0(1) AAS
>>354
なるほど、ありがとうございました!!
356: デフォルトの名無しさん (ワッチョイ ed96-VXNn) [] 2025/04/25(金) 11:23:25.63 ID:reKQm/Xa0(1) AAS
>>354
ILの話はしてない
nativeAOT及びJITが最終的に生成するアセンブラを指して言ってる
パフォーマンス目的でC/C++と連携しようとすると返ってパフォーマンス落ちる事も多いからな
機械生成のゴミラッパーが挟まると呼び出しコストがdll内部のルーチンより1万倍掛かるとかザラにあるし
357: デフォルトの名無しさん (ワッチョイ 79d7-vVAN) [sage] 2025/04/25(金) 12:53:18.17 ID:RL99gkZ90(1) AAS
まぁ、アンマネージ呼び出しをパフォーマンス目的でやるもんじゃないしな
358: デフォルトの名無しさん (ワッチョイ 3778-8SS3) [sage] 2025/04/27(日) 16:38:33.85 ID:jnYDAPp70(1) AAS
LibraryImport属性を使うとDllImport属性より最適化されたコードが出力されたりするの?
359
(1): デフォルトの名無しさん (ワッチョイ 7761-tU9d) [] 2025/05/03(土) 12:39:00.86 ID:GwMmJ/YG0(1/2) AAS
オリジナルのDataGridViewの列を作りたいんですが、デザインビューのDataGridViewからオリジナルの列を追加する方法ってありますか?
360: デフォルトの名無しさん (ワッチョイ d7d7-U1DS) [sage] 2025/05/03(土) 14:19:24.20 ID:ZbkD0HOB0(1) AAS
>>359
オーナードローしたいという事?
361: デフォルトの名無しさん (オイコラミネオ MM5b-5rsl) [sage] 2025/05/03(土) 14:43:58.59 ID:rfaECn6+M(1) AAS
列A 列Bがあって 列C作ってA+Bを表示したいと言うことでは?
362: デフォルトの名無しさん (ワッチョイ 7761-tU9d) [] 2025/05/03(土) 15:51:35.38 ID:GwMmJ/YG0(2/2) AAS
DataGridViewColumnを派生させたオリジナルの列をフォームデザインビューから列に追加したいんです
363: デフォルトの名無しさん (ワッチョイ 9f79-q4+Y) [] 2025/05/03(土) 16:55:23.30 ID:h9Jrb8E+0(1) AAS
lこの辺りを駆使してDataGridViewColumnクラスを作るとか
https://dobon.net/vb/dotnet/graphics/drawcontrols.html
364: デフォルトの名無しさん (ワッチョイ 9f68-VDOd) [] 2025/05/03(土) 18:56:11.65 ID:Q4RX0Sa/0(1) AAS
スマホとPCの作業を効率化したい--「Copilot Vision」の便利な8つの活用例
2025-05-03 07:00
https://japan.zdnet.com/article/35232549/

1 プログらまーまこれを改造してるので上記以外の状態でも使用できるようにしている

2 すでにプログラムがあるので1〜コードを作成する必要が無い

ボイス・トォ・スカルの本態が一般パソコンにまで来たのでつい買い捨てができるようになった
マネーロンダリング 談合 インサイダー などがはかどるといわれる
365: デフォルトの名無しさん (ワッチョイ cf7e-Enlg) [] 2025/05/05(月) 08:51:14.85 ID:wERx/Nt90(1) AAS
“イリヤ神”がまたやった 動画生成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: デフォルトの名無しさん (ワッチョイ cff0-Enlg) [] 2025/05/07(水) 15:21:51.01 ID:Nuqzm3Wk0(1) AAS
下記は全て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: デフォルトの名無しさん (ワッチョイ 63d7-JZTP) [sage] 2025/05/07(水) 16:08:58.47 ID:9Z9/upda0(1) AAS
余所でやれカス
368: デフォルトの名無しさん (アウアウウー Sac3-7Zak) [sage] 2025/05/08(木) 10:26:27.15 ID:8ptxnmrna(1) AAS
余所でやれとあなたが言ったから
色んなスレにマルチされたので
5月7日はマルチ記念日
369: デフォルトの名無しさん (ワッチョイ 7540-gmcI) [] 2025/06/16(月) 03:18:14.57 ID:BRbK5XdC0(1/2) AAS
IDisposableを実装したクラスのインスタンスがもし破棄されていたら再度生成するために、

if(instance.IsDisposed || instance == null){
instance = new MyClass();
}

という書き方してるんですが、(obj != null)の部分って意味ないんでしょうか?
370
(1): 369 (ワッチョイ 7540-gmcI) [sage] 2025/06/16(月) 03:32:02.55 ID:BRbK5XdC0(2/2) AAS
すみません。ChatGPTが下記の回答をくれました。

instance が null の場合、insntace.IsDiposed の評価時に NullReferenceException が発生してしまうので、

if(instance == null || instance.IsDisposed){
instance = new MyClass();
}

にしなければならない。

必要かどうか。
 設計上 instance が null になる可能性がある場合、null チェックは必要。
 絶対に null にならないように管理されている場合、null チェックは不要。

 「instance がまだ生成されていない、または使えない状態になったときに再生成する。」
 という目的が明確にある場合、妥当で意味のある書き方です。
371: デフォルトの名無しさん (ワッチョイ ce01-zY++) [sage] 2025/06/16(月) 10:34:42.11 ID:Nk3UlLjY0(1) AAS
そもそも変数を使いまわそうとしているのが間違い
using等でスコープと連動させて管理すべき
372
(1): デフォルトの名無しさん (ワッチョイ b6b8-Is3k) [] 2025/06/16(月) 12:34:32.54 ID:rtKSn8210(1/2) AAS
>>370
もうほんのちょいだけ突っ込んだ解説すると、||演算子は左から評価を行い、左がtrueになった時点で右は評価を行わない

ゆえに、nullが渡ってくる可能性がある場合には~というChatGPTの回答に繋がる
373: デフォルトの名無しさん (ワッチョイ 8d1e-Q7Of) [sage] 2025/06/16(月) 14:51:53.15 ID:IaYLbsBg0(1) AAS
>>372
ショートサーキットの有無は全然関係ないだろ

ChatGPTのダメ回答にさらに間違ったダメ解説を付け足すなよ
374: デフォルトの名無しさん (ワッチョイ 5e10-15C+) [sage] 2025/06/16(月) 17:32:21.61 ID:MOf8oPnJ0(1) AAS

375: デフォルトの名無しさん (ワッチョイ 75d9-XPp7) [sage] 2025/06/16(月) 18:04:45.11 ID:wwT4Yc020(1/2) AAS
>(obj != null)の部分って意味ないんでしょうか?

(obj != null)の部分が見当たらない問題
376
(1): デフォルトの名無しさん (ワッチョイ b6b8-Is3k) [] 2025/06/16(月) 19:27:49.53 ID:rtKSn8210(2/2) AAS
フェイルセーフで実装するコードに対して、全体見えないのに設計直せは草しか生えない。ChatGPTでもやらん暴挙
その上でなぜ左右逆だといけないのかの解説に対してショートサーキットの有無は関係ないとかガチで草
377: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/16(月) 19:46:50.44 ID:oIohr+2JM(1/2) AAS
その前にフェイルセーフなのかどうかすらわからないと思う
ここでしか初期化していないならフェイルセーフではない
378: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/16(月) 19:54:04.99 ID:oIohr+2JM(2/2) AAS
フェイルセーフ
例えば信号が壊れたときに赤になるようにしてあれば交差点に通常運転で突っ込む事故が起こらない
壊れるにしても事態を安全な方向に振ること

初期化忘れや破棄されたインスタンス等を初期化するのはフェイルセーフではない
379
(2): デフォルトの名無しさん (ワッチョイ 75d9-Q7Of) [sage] 2025/06/16(月) 21:31:49.20 ID:wwT4Yc020(2/2) AAS
>>376
なぜ左右逆だといけないのかとショートサーキットの有無は関係ないんだけど指摘されてもマジでわかんないのか

ChatGPTの回答もう一度読んでみ?
あとはショートサーキット無しの|演算子にしたら問題がなくなるのかどうか考えてみ?
380: デフォルトの名無しさん (ワッチョイ ad01-xkro) [] 2025/06/16(月) 22:33:11.11 ID:GWwonttx0(1/2) AAS
>>379
ああ言われて気づいた、説明間違ってたわ

最初のコードだと、左から判断を行うので、instance.IsDisposedを判定するときにinstanceがnullの場合にエラーが発生する
けど逆にするとinstance == nullではじくので、instance.IsDisposedは判定しなくなる
381
(1): デフォルトの名無しさん (ワッチョイ ad01-xkro) [] 2025/06/16(月) 22:37:37.67 ID:GWwonttx0(2/2) AAS
はじくじゃねーや、また言葉間違ってる

最初のコードだと、左から判断を行うのでnstanceがnullの場合にinstance.IsDisposeでNullにアクセスしようとしてぬるぽが発生する
けど逆にするとinstanceがnullの場合は左の条件だけで生成に向かい、またinstanceがnullではない場合には誤ってDisposeされているかどうかで判断して再生成する
382: デフォルトの名無しさん (ワッチョイ 9e64-ws5E) [sage] 2025/06/17(火) 03:09:44.29 ID:37ojnUDK0(1) AAS
今の世の中AIがあんのにまだこんな場末のド素人のホビープログラマーと知ったかの吹き溜まりにきよんのか理解に苦しむんやがwww
まぁAIの使い方すらわからん低脳チンパンやからこんなまともな回答が返ってこーへんスレで質問しとんのやろーなクソワロタ
383: デフォルトの名無しさん (ワッチョイ 9e27-T1jw) [] 2025/06/17(火) 03:15:38.49 ID:TyHic1BD0(1) AAS
なるほどこれがチンパンジーか
384: デフォルトの名無しさん (アウアウウー Sacd-xHx3) [] 2025/06/17(火) 19:36:15.47 ID:ItQB0Ii0a(1) AAS
答えもらうつもりで来とるやつなんかおらんやろ
385: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/17(火) 20:04:41.87 ID:lyLRSSY/M(1/2) AAS
>>381
あんたの言葉の方が、native 日本人にはおかしく聞こえる。
380 の説明は自然な日本語であり、論理的にも正確。
386: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/17(火) 20:06:58.69 ID:lyLRSSY/M(2/2) AAS
>>379
|| 演算子のショートサーキット評価 (短絡評価) は大いに関係ある。
387
(1): デフォルトの名無しさん (ワッチョイ 5e10-15C+) [sage] 2025/06/17(火) 20:46:19.23 ID:QaggVUGV0(1) AAS
null判定を後に書いちゃうのはショートサーキット評価有無以前の問題だって話だろ
388: デフォルトの名無しさん (オイコラミネオ MMc6-Rgxs) [sage] 2025/06/17(火) 22:02:13.98 ID:EAFPsc4EM(1) AAS
>>387
何言ってんだか。
389: デフォルトの名無しさん (ワッチョイ 754e-x4hs) [] 2025/06/17(火) 22:56:13.68 ID:6ofORGWH0(1) AAS
null合体演算子を使う方法もある
if (instance?.IsDisposed ?? true) {...}

「ヌルの場合は」という条件を強く示したいなら is null を明示して良いと思うけど、個人的にはこちらの方が簡潔に感じる

できればプロジェクトの設定でnull参照許容型を有効にして、 instance が null になり得るかを宣言時に分かるようにするとベター
(null になり得るなら MyClass? instance のように書く)
これが有効なプロジェクトなら、nullにならないもの (?がついてない変数やフィールド) についての null チェックはしなくて良い
390: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/17(火) 23:34:10.59 ID:iqT3/wLqM(1) AAS
それをコードそのまんまで日本語化してみろよ
基地外じみた内容にしかならない
391: デフォルトの名無しさん (ワッチョイ 12e9-r7WK) [sage] 2025/06/18(水) 08:47:51.67 ID:KyoQ8vl80(1) AAS
ミネオはキチガイしか居らんのか
392: デフォルトの名無しさん (ワッチョイ 794b-jgBs) [] 2025/06/18(水) 17:42:58.37 ID:SrJIdorw0(1) AAS
世界最長のコンテキストウィンドウ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: デフォルトの名無しさん (ワッチョイ 4d01-BNLE) [sage] 2025/08/05(火) 00:09:25.40 ID:DqljLAiY0(1) AAS
びっくりするくらい過疎になったの何故
.net 10も出ると言うのに
394: デフォルトの名無しさん (ワッチョイ d9eb-IDA4) [] 2025/08/05(火) 08:50:09.46 ID:6/QKa+fA0(1) AAS
ここで聞くよりAIで済むからじゃね
395: デフォルトの名無しさん (ワッチョイ e3e9-7WfB) [sage] 2025/08/05(火) 08:53:43.86 ID:rlCv+3El0(1) AAS
下手に話題出すとキ印が絡んで来るしな
396: デフォルトの名無しさん (ワッチョイ c54c-e1y2) [sage] 2025/08/05(火) 18:44:21.24 ID:R8uM/fta0(1) AAS
ム板自体人いないわ
Avaloniaは触ってるぞ
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.006s*