[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2ch.scのread.cgiへ]
Update time : 12/26 14:53 / Filesize : 130 KB / Number-of Response : 563
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C#, C♯, C#相談室 Part98



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

2 名前:デフォルトの名無しさん (アウアウエー Sa82-viZ1) [2024/07/06(土) 09:45:55.57 ID:tDR9EaCva.net]
もう人居ないねここ

3 名前:デフォルトの名無しさん (ワッチョイ 2383-KMba) mailto:sage [2024/07/07(日) 11:10:38.82 ID:LxwuJOKK0.net]
C#ってそんな廃れたのか、、、

4 名前:デフォルトの名無しさん mailto:sage [2024/07/07(日) 13:30:41.60 ID:nRN7u0+PM.net]
星の手紙

スターレター

5 名前:デフォルトの名無しさん (ワンミングク MM5d-o7Qo) mailto:sage [2024/07/19(金) 08:08:33.90 ID:8mtfDqm5M.net]
プロパティって、別クラスからprivateなフィールドにアクセスするためのメソッドという理解であってます?
自分のクラス内で完結するのであれば直接フィールドを操作すればいいですよね?

6 名前: 警備員[Lv.10][芽] (ワッチョイ 467c-yD6P) mailto:sage [2024/07/19(金) 10:22:26.61 ID:rAu+wfGe0.net]
基本的にはそうだけどちょっとした小細工を仕込みたい場合とかにprivateプロパティという選択肢もなくはない
遅延初期化するものとかね(この用途では今はLazy<T>を使うけど)

7 名前:デフォルトの名無しさん (ワッチョイ 2601-4WTN) mailto:sage [2024/07/19(金) 10:35:14.12 ID:IMeiXUMG0.net]
フィールドのようにアクセス可能なクラスのインターフェースというかAPIを定義するのがプロパティ
中身は他のメソッド呼び出しの場合もあれば他のプロパティを元にした計算だけ行う場合もある

クラスのユーザーがフィールドにアクセスする必要がなく
継承して拡張する際にもフィールドにアクセスする必要がなく
クラス内からのフィールドアクセス時にも常にチェックすべき事前条件がなければ
privateフィールドを単純にラップするプロパティは基本的に不要

8 名前:デフォルトの名無しさん (ワンミングク MM5d-o7Qo) mailto:sage [2024/07/19(金) 22:05:33.66 ID:8mtfDqm5M.net]
ありがとうございます
もう一点聞きたいんですが、プロパティ自体はアンチパターンではないですよね?
ある本にセッターを使うなら別にメソッド用意しろと書いてありました
理由はクラス外からメンバを操作してはいけないのと、値チェックができなくなるからと
これらは別にプロパティでもできるんで(そもそもプロパティはメソッド)、間違ってますよね?

9 名前:デフォルトの名無しさん (ワッチョイ cd01-VZYF) mailto:sage [2024/07/19(金) 23:31:48.25 ID:QqZ5EOxb0.net]
>>8
>ある本にセッターを使うなら別にメソッド用意しろと書いてありました
状況による
publicなセッターのほうが望ましいケースが稀なのは確か

10 名前:デフォルトの名無しさん (ワッチョイ ae68-o7Qo) mailto:sage [2024/07/20(土) 16:52:32.64 ID:euMlvBLf0.net]
ぞもそもそれc#の本なのか?
なぜタイトルをぼかす



11 名前:デフォルトの名無しさん (ワッチョイ 8178-Cq3U) mailto:sage [2024/07/22(月) 06:36:28.74 ID:NgZAB9xM0.net]
セッターゲッターとか久しぶりに聞いた気がする

12 名前:デフォルトの名無しさん (ワッチョイ 41d7-pVLH) mailto:sage [2024/07/29(月) 14:46:58.61 ID:AZP0hoR90.net]
あれ?.NET CoreだとC++/CLIの1次元array使えない?

13 名前:デフォルトの名無しさん (ワッチョイ 41d7-pVLH) mailto:sage [2024/07/29(月) 16:17:59.63 ID:AZP0hoR90.net]
よくよく考えたらすれ違いだなすまねぇ

14 名前:デフォルトの名無しさん mailto:sage [2024/08/13(火) 12:58:30.17 ID:qhmHbPMW0.net]
実行ファイルのあるフォルダを取得しようとぐぐってためしたらカレントディレクトリを返してくるんだが・・なんか変わった?

15 名前:デフォルトの名無しさん mailto:sage [2024/08/13(火) 13:03:50.93 ID:NwhX+oy+0.net]
取得するコード書いてくれにゃ答えられんよ
あと.NET 5以降なのか.NET Frameworkなのかとか

16 名前:デフォルトの名無しさん mailto:sage [2024/08/17(土) 11:34:37.81 ID:0uZEK+kK0.net]
テキトーな疑問だけ投げて二度と来ない単発荒らしか>>14

17 名前:デフォルトの名無しさん mailto:sage [2024/08/17(土) 18:26:07.56 ID:7ysjw50y0.net]
それもまたよし

18 名前:デフォルトの名無しさん mailto:sage [2024/08/18(日) 14:40:47.88 ID:SsGk7ZLr0.net]
>>16
寂しがり屋なの?
来てほしかったの?
反応がない=同じ現象に出くわした人がここにはいない、ってことだからここにきても意味ないじゃん
もう返事もらってんだよ、それくらい理解できないの?なさけない

19 名前:デフォルトの名無しさん mailto:sage [2024/08/18(日) 16:52:26.07 ID:GtHdHJ0K0.net]
見本のような基地外だな

20 名前:デフォルトの名無しさん mailto:sage [2024/08/18(日) 19:24:32.75 ID:HTF0RcUb0.net]
こいつは「本物」だぁ



21 名前:デフォルトの名無しさん mailto:sage [2024/08/18(日) 20:39:07.06 ID:zJcx09U/M.net]
いつからか
こんな限界集落のマ板なんかに変なの居着いた

22 名前:デフォルトの名無しさん mailto:sage [2024/08/19(月) 06:26:30.30 ID:SGLtwM6z0.net]
ここはム板

23 名前:デフォルトの名無しさん mailto:sage [2024/08/19(月) 06:31:58.08 ID:QkiVzACw0.net]
>>21
マ板の方はご遠慮いただけますでしょうか

24 名前:デフォルトの名無しさん mailto:sage [2024/08/19(月) 07:35:48.04 ID:I+C1rt+hM.net]
ムやったね……

25 名前:デフォルトの名無しさん mailto:sage [2024/08/23(金) 20:08:18.72 ID:NK40bFjG0.net]
コンソールアプリで画面を上側へスクロールしたときに文字が表示されません
Console.BufferHeightで行数を増やしているのに、何故か反映されない
Win10では正常に表示されたのに、Win11では表示されない

26 名前:デフォルトの名無しさん mailto:sage [2024/08/25(日) 23:22:26.70 ID:bGprUffz0.net]
ググっても出ない中々難しめの質問AIにしたらサンプルコードまで答えてくれやがった
正常動作するかは知らんが
仕様諸々精査してできるかどうかの判断を自動でやってくれるのは楽だわ

27 名前:デフォルトの名無しさん mailto:sage [2024/08/26(月) 00:14:24.04 ID:dB7SOU9G0.net]
回答を検証できる質問でないとハマるよ
それっぽい回答来たから鵜呑みにしてたけど後からハルシネーションだったとわかってガックリ来た
付き合い方を考えないと

28 名前:デフォルトの名無しさん mailto:sage [2024/09/01(日) 11:24:48.74 ID:LL2O7mfa0.net]
vscodeで作成してます。.NETではなく.NET Framework用でコンパイルしたいのですがcsprojをいじればいいんですか?イマイチぐぐっても分かりませんでした…

29 名前:デフォルトの名無しさん mailto:sage [2024/09/01(日) 13:03:18.55 ID:Z5xSjoFS0.net]
ターゲットフレームワークを変更する
おそらくNugetの依存関係が壊滅するのでライブラリのバージョン等を頑張って修正
まあ、そのレベルだと素直にVSでプロジェクト作り直した方が確実に早い

30 名前:デフォルトの名無しさん mailto:sage [2024/09/02(月) 22:54:25.71 ID:h77XuHn20.net]
>>29
依存関係とか変更とかまったく分からないのでnet48でプロジェクトを作りました

しかしc#が勝手に最新で作り出すのでなんとかしないと…



31 名前:デフォルトの名無しさん mailto:sage [2024/09/02(月) 23:05:06.91 ID:h77XuHn20.net]
implicitusingを無効にしたらいけました!
coreCLRの開始イベント使ってねーぞみたいな注意が出ますがとりあえず無視します

32 名前:デフォルトの名無しさん mailto:sage [2024/09/03(火) 07:44:08.63 ID:PDmQOkMO0.net]
だからそんなこともわからんレベルなら
普通のVisualStudio IDE使ってテンプレートから作ってもらえ
.NET Core系用と.NET Framework系用でテンプレート別々にあるぞ

33 名前:デフォルトの名無しさん mailto:sage [2024/09/03(火) 08:49:37.91 ID:4PaG9Ni+0.net]
.NET Frameworkで作るのならVS Codeにこだわる意味が分からんな

34 名前:デフォルトの名無しさん mailto:sage [2024/09/03(火) 09:54:47.33 ID:+c3TQ6I00.net]
初心者ならプロジェクト作成以外もVisual Studio使った方が楽じゃないか

35 名前:デフォルトの名無しさん [2024/09/03(火) 10:47:54.65 ID:zynfI0Xf0.net]
初心者以外でもvisual studioでいいのでは?
VS Codeって何のためにあるの?

36 名前:デフォルトの名無しさん mailto:sage [2024/09/03(火) 18:52:22.72 ID:tn1VFMYP0.net]
>>35
自由度の高い拡張機能が作成可能とか?
メリットいかせずに「他人と違ったことする俺すげぇ」ってバカのほうが多い気はする
そして拗れてcsc.exeへ。勉強効率も悪くろくなもの作れなくなるバカの末路
ちなみにどっちも初心者スレで「やり方わかりません教えて」みたいな質問者見たことある

37 名前:デフォルトの名無しさん [2024/09/03(火) 20:51:18.41 ID:AjfoquOu0.net]
VS CodeはVSがインストール出来ない環境で使うんだよ

38 名前:デフォルトの名無しさん mailto:sage [2024/09/03(火) 22:16:15.43 ID:KfZ8HCC90.net]
maui、xamlとかモリモリ書かないならvscodeで.netは普通にいけると思う。

39 名前:デフォルトの名無しさん mailto:sage [2024/09/03(火) 22:57:01.51 ID:ySKcrG5T0.net]
他のフレワークだとVSCode前提みたいなところがあるから、基本的にコマンド一発でテンプレートやコンフィグ全生成してくれるのが殆どなんだよなー
自分はC#使うのは2〜3割くらいに減ってるから、一旦VSのテンプレートで生成した後にVSCode持ってって作業してる。
別にVSのまま作業しても良いんだけど、他がずっとVSCode使ってるからそのまま殆どなんとなく。
ビルドの設定追い込む時とかはVSに戻って作業する

40 名前:デフォルトの名無しさん mailto:sage [2024/09/03(火) 23:52:43.04 ID:PSfMpKNk0.net]
.NET8に移行しようとしてSystem.Drawing.Commonをnugetで取得して、参照のパッケージのところにもちゃんと入ってるのにビルドするとアセンブリ追加しろやってエラーが出ます
System.Drawing.Commonに限った話じゃないとは思うんですが、nugetしてるはずなのに使えないケースってあります?なんか対処法とかありますかね
nugetのフォルダのsystem.drawing.common.dllを直接追加してみるとエラーが出るし……



41 名前:デフォルトの名無しさん mailto:sage [2024/09/04(水) 05:59:16.88 ID:vTUmaV8z0.net]
依存関係が足りないとか

42 名前:デフォルトの名無しさん mailto:sage [2024/09/04(水) 08:45:46.87 ID:0YyVWJnw0.net]
>>40
ターゲットOSをWindowsにしなきゃだめになったんじゃなかったっけか

43 名前:デフォルトの名無しさん mailto:sage [2024/09/04(水) 21:50:02.76 ID:Gc+g798x0.net]
>>41-42
ありがとうございます。解決しました。
プロジェクトじゃなくて、プロジェクトが参照してるライブラリが古くて画像周りがおかしかったことが原因でした……
いやーてっきりプロジェクトに問題があるものだとばかり。
お手数をおかけして申し訳ありませんでした。

44 名前:デフォルトの名無しさん [2024/09/05(木) 22:43:12.04 ID:IsSxmn+e0.net]
string のなかに " いれたいんだができるん?

string x=""+"aaaa"+"" 

45 名前:デフォルトの名無しさん mailto:sage [2024/09/05(木) 22:47:08.76 ID:oSzSq1tU0.net]
>>44
こういうこと?
string x = "\"+\"aaaa\"+\"";

46 名前:デフォルトの名無しさん [2024/09/05(木) 23:13:37.12 ID:IsSxmn+e0.net]
それでできそうかも。試してみる。
プロセス起動させるとき、引数の変数にパス入れるけどパスの中にスペースがあると
だめなんでそれの回避として " が必要。

47 名前:デフォルトの名無しさん [2024/09/05(木) 23:26:05.02 ID:IsSxmn+e0.net]
だめっぽいな。
aaaaはstring の変数でもってきてる。

48 名前:デフォルトの名無しさん mailto:sage [2024/09/06(金) 00:01:44.71 ID:fMgfL8Dd0.net]
だめっぽいのは君の書き方じゃないか

49 名前:デフォルトの名無しさん mailto:sage [2024/09/06(金) 00:10:56.19 ID:FMgRnbLf0.net]
バックスラッシュの意味理解しよ

50 名前:デフォルトの名無しさん mailto:sage [2024/09/06(金) 00:19:55.27 ID:4rrS/3cJ0.net]
string s = "aaaa";
string x = $"\"{s}\"";



51 名前:デフォルトの名無しさん mailto:sage [2024/09/06(金) 02:38:09.45 ID:kwoFnA2yd.net]
System::Diagnostics::Process::Startとかだろ
"\"" + filePath + "\""

52 名前:デフォルトの名無しさん [2024/09/06(金) 03:15:10.46 ID:CmuGhD0i0.net]
なんでわざわざ足してんの?

53 名前:デフォルトの名無しさん mailto:sage [2024/09/06(金) 05:55:59.83 ID:c0VNDQG50.net]
Windows君はパスに空白含んでたらバカになるからダブルクォートしないといけないからね

>>44
string x = """aaaa""";

これで

54 名前:デフォルトの名無しさん mailto:sage [2024/09/06(金) 05:57:26.94 ID:c0VNDQG50.net]
>>47を読んで無かったわww
それなら>>51でいいか

55 名前:デフォルトの名無しさん [2024/09/06(金) 07:11:30.93 ID:6dWW3slR0.net]
string x = $"\"{s}\"";
これ採用 TNX!

56 名前:デフォルトの名無しさん mailto:sage [2024/09/06(金) 08:03:43.33 ID:atJH5uZ+0.net]
もうちょっとあれこれ繋げるもんがあるならともかく
たったそれだけにString.Format使う意味ある?

57 名前:デフォルトの名無しさん mailto:sage [2024/09/06(金) 10:26:55.33 ID:q1RifKtNM.net]
2回以上+で結合すると無駄なアロケートとコピーが発生する
ループしないなら気にする必要ないけど、+に拘るメリットも特にないな

58 名前:デフォルトの名無しさん mailto:sage [2024/09/06(金) 14:31:56.02 ID:atJH5uZ+0.net]
なんかふと気になってILSpyしてみたら
>>55程度だと+連結に置き換えられてて、もう一つ変数増やしたらDefaultInterpolatedStringHandler処理になってたわ

59 名前:デフォルトの名無しさん (ワッチョイ dfa7-cMiB) mailto:sage [2024/09/06(金) 22:02:01.77 ID:4rrS/3cJ0.net]
>>58
C#10から実装が変わってかなり高速化したらしい

60 名前:デフォルトの名無しさん mailto:sage [2024/09/08(日) 14:19:12.90 ID:Lcq5kqTI0.net]
https://ufcpp.net/study/csharp/sp_attribute.html

属性付加について質問です
上リンクにバブルソートの途中経過を出力する例がありますが、
/// <summary>
/// SHOW_INTERMEDIATE というシンボルが定義されているときのみ
/// 配列の内容をコンソールに表示する。
/// </summary>
[Conditional("SHOW_INTERMEDIATE")]

がよくわかりません。
このシンボルの定義はどこで誰がするのでしょう?
途中経過を見るかどうかならbool型を渡すだけでできると思うのですが属性を使うメリットは何でしょう?



61 名前:デフォルトの名無しさん mailto:sage [2024/09/08(日) 16:40:59.79 ID:TkJTVSzCH.net]
https://hatsune.hatenablog.jp/entry/2021/12/20/151144

の条件つきコンパイルシンボルに
「SHOW_INTERMEDIATE」も指定して実行したときだけ
IntermediateOutput(array);
が呼ばれる
ソースコードをいじらすともプロジェクト設定だけで動作を切り替えられる

62 名前:デフォルトの名無しさん mailto:sage [2024/09/08(日) 16:46:45.34 ID:TkJTVSzCH.net]
https://ufcpp.net/study/csharp/sp_attribute.html
の例だけなら本来ならConditional属性より#ifで動作を切り替えるほうが自然かもしれないけど、メソッドに属性をつけることで「コンパイル時の」動作を切り替えることもできる

63 名前:デフォルトの名無しさん mailto:sage [2024/09/08(日) 16:56:39.71 ID:0eGKbJyF0.net]
ありがとうございます!
弄って試してみます

64 名前:デフォルトの名無しさん mailto:sage [2024/09/08(日) 22:39:41.68 ID:QA3NbpCiM.net]
#if~#endifだけでこと足りるけど、使いすぎるとコードが見にくくなる。
Conditional属性ならメソッドを呼び出す部分に何も増えないからすっきり。

65 名前:デフォルトの名無しさん mailto:sage [2024/09/10(火) 18:08:51.32 ID:pYXFiK6k0.net]
1年ぶりくらいにC#開発やったらPrismのライセンスが変更されててビックリした
条件があるとはいえ商用で使っていくのは厳しいからどうしようか迷ってる
とりあえずv9.0未満ならMITライセンスのままだから使えないこともないんだけど、このまま使うのもなぁ…

66 名前:デフォルトの名無しさん mailto:sage [2024/09/10(火) 23:39:42.30 ID:FmO9o6ji0.net]
c#がニッチになればなるほど有料ライブラリの存在感が増してきて足元見られてる感はある
MAUIとか、何かググるとsyncfusionのボッタクリライブラリの広告ばっか出てきてめちゃくちゃげんなりする
どうしてこうなった・・・

67 名前:デフォルトの名無しさん mailto:sage [2024/09/11(水) 10:04:33.53 ID:Mwxa/fl+0.net]
c#13来ますね

68 名前:デフォルトの名無しさん [2024/09/11(水) 15:28:02.94 ID:NVe6C6lkd.net]
C# Dev Kit がゴミすぎてC#13なんてまともに動くはずもないから無視してOK
https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit&ssr=false#review-details

69 名前:デフォルトの名無しさん [2024/09/11(水) 15:32:38.70 ID:NVe6C6lkd.net]
>>66
Visual Studio for macの廃止で
MAUI の無料の開発環境はゴミすぎる VScode + C# Dev Kit しかなくなったからな。
もうお金持ちしか使っていない。

70 名前:デフォルトの名無しさん [2024/09/11(水) 15:34:46.79 ID:NVe6C6lkd.net]
MAUI アプリは市場的に iOS 抜きでは考えられず、そうなると「mac上での開発」が大前提なのに
Visual Studio for macが廃止になったからな。



71 名前:デフォルトの名無しさん mailto:sage [2024/09/11(水) 18:27:03.65 ID:XegoQ2KD0.net]
Expressも更新しないしドケチ弊社はvscodeですよ

72 名前:デフォルトの名無しさん mailto:sage [2024/09/11(水) 21:07:10.19 ID:tsOfJ2jSM.net]
c#13の恩恵受けるの利用者の1%以下説

73 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 00:30:07.84 ID:tw/IepBM0.net]
結局あと数年は使うデスクトップアプリなら何使えばいいの

74 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 00:57:04.66 ID:abJIVzSD0.net]
Forms

75 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 06:52:35.11 ID:3diDP2dM0.net]
C#13はあんまり惹かれる内容が無くて……

76 名前:デフォルトの名無しさん [2024/09/12(木) 11:07:15.58 ID:0rD/09ib0.net]
結局のところMAUIはAdobe FlashやSilverlightの失敗と同じ道を歩んでしまった。
スマホアプリとデスクトップアプリの統合なんてできるわけないのに。
アップルのMac Catalystも壮大にコケただろ。

77 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 11:29:41.24 ID:0D4bKRqg0.net]
いやいや、スマホとデスクトップのフレームワーク統合はReact NativeやFlutterで成功してるよ
MAUIが失敗したのは単にそれらの競合を上回るだけの魅力がなかったから
そもそも当のMS自身がMAUIではなくReact Nativeを主力として採用しているわけで、ドッグフーディングすらまともにやられてない冗談みたいなゴミよ

78 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 15:26:52.97 ID:aCcjSW4y0.net]
魅力が無いという消極的な話じゃなくバグがありすぎるんだよ
MAUI使うならMAUI Blazor一択

79 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 17:43:21.90 ID:eHy+J5v3d.net]
Flutterで作られたデスクトップアプリってあるの?ないこたないんだろうけど、聞いたことがない

80 名前:デフォルトの名無しさん mailto:sage [2024/09/12(木) 20:57:36.84 ID:XSV6/xEMp.net]
ラムダ式だらけで何やってるか分からん
名前付きならその名前でなんとなくやってる事が推測出来るのに



81 名前:デフォルトの名無しさん mailto:sage [2024/09/13(金) 00:37:39.75 ID:f6FEBSA20.net]
具体的にどんなコード?
触れたことないからどんなもんか気になる

82 名前:デフォルトの名無しさん mailto:sage [2024/09/13(金) 01:46:12.54 ID:2J3jv9tY0.net]
ラムダだとか無名なんたらって引数には名前書かせたりするのがイマイチだよな
全部匿名で書かせろや

83 名前:デフォルトの名無しさん mailto:sage [2024/09/13(金) 06:49:44.21 ID:Xxd/8jpe0.net]
引数に名前無いと式内でどうやってコード書くんだ

84 名前:デフォルトの名無しさん mailto:sage [2024/09/13(金) 07:04:31.00 ID:2PWLnrX2H.net]
最近のC#だと使わない変数/引数は「_」で書けるけどこれのことかな

85 名前:デフォルトの名無しさん mailto:sage [2024/09/13(金) 08:46:26.70 ID:67a82NYw0.net]
破棄は呼び出し側だし、_だけで変数名にできるけど、やる意味無いしなぁ

86 名前:デフォルトの名無しさん mailto:sage [2024/09/13(金) 09:50:43.10 ID:5m8mJFP+p.net]
名前無いと中身コメント書かれて無いと何やってるかますます分からないだろ
おまえら自分の事しか考えて無いのかよ

87 名前:デフォルトの名無しさん (ワッチョイ 6abf-MWGe) mailto:sage [2024/09/13(金) 10:03:36.58 ID:vCoJKF930.net]
可読性がどんどん下がっていく

88 名前:デフォルトの名無しさん (ワッチョイ f9d4-tR61) mailto:sage [2024/09/13(金) 10:18:51.22 ID:WHSymIlK0.net]
kotlinが単一引数ならitで書けたりするよな

89 名前:デフォルトの名無しさん mailto:sage [2024/09/13(金) 11:58:13.17 ID:sF2/C+u40.net]
実例出さないとコードを書いたやつの問題なのか読んでるやつの問題なのかわからないな
普通にどっちもありえる

90 名前:デフォルトの名無しさん [2024/09/13(金) 14:56:26.94 ID:HD5QYSk40.net]
OpenAIが複雑な推論能力をもつAIモデル「OpenAI o1」と「OpenAI o1-mini」を発表、プログラミングや数学で高い能力を発揮
https://gigazine.net/news/20240913-openai-o1/



91 名前:デフォルトの名無しさん mailto:sage [2024/09/14(土) 00:38:39.43 ID:wZXV9Eo9M.net]
宣言してない変数が出てきたらそれに引数割り当てろとかそんなことを言ってるのかな?

92 名前:デフォルトの名無しさん mailto:sage [2024/09/14(土) 06:23:25.94 ID:f+klQpwH0.net]
JavaScriptかな?

93 名前:デフォルトの名無しさん mailto:sage [2024/09/14(土) 13:19:57.57 ID:wZXV9Eo9M.net]
new Action<A>(=> Console.WriteLine( s ) );

new Action<A>(Console.WriteLine( s ) );

見たいなことなんじゃないかと

94 名前:デフォルトの名無しさん mailto:sage [2024/09/14(土) 13:48:53.85 ID:o3f0Ddoea.net]
Rubyのundefined黒魔術のことか

95 名前:デフォルトの名無しさん mailto:sage [2024/09/14(土) 22:08:29.61 ID:FSRkRcLf0.net]
それコンパイラーが結局最適化するからええやん

96 名前:デフォルトの名無しさん mailto:sage [2024/09/26(木) 17:43:19.96 ID:3JTs1+bS0.net]
Unityって.NETに移植される予定あるの?
ここ5年ほどは.NETばかりが進化してUnityは時止まってる感あるけど

97 名前:デフォルトの名無しさん mailto:sage [2024/09/26(木) 18:08:10.54 ID:Qc6+rELv0.net]
移植って何だよ
言ってる意味が分らんぞ

98 名前:デフォルトの名無しさん mailto:sage [2024/09/26(木) 18:28:01.53 ID:CKFT+8KQa.net]
エスパーすると…

わからん

99 名前:デフォルトの名無しさん mailto:sage [2024/09/26(木) 20:43:41.41 ID:78wjS3t+0.net]
Unityスレでやれよ

100 名前:デフォルトの名無しさん (ワッチョイ 1610-sUBN) mailto:sage [2024/09/27(金) 06:17:43.36 ID:H6GdPqZc0.net]
ライブラリ使うってレベルじゃねぇぞ



101 名前:デフォルトの名無しさん mailto:sage [2024/09/28(土) 15:53:03.33 ID:Nide2Zz10.net]
あのースレ違いとは重々承知の上なんですが、ASP.NETの求人ってどんな感じですかね
これまでずーっとC#のデスクトップアプリとかまぁローカルなシステム作りばかりやってきたんですが、いくらなんでも未来がないからウェブへの転職狙ってるんですよね
でキャリア活かそうとASPいじりはじめたんですが今はどこもかしこもjavascriptみたいなイメージで
業務でASP使ってるとかASPで転職活動したとかそういう人いたら話聞かせてほしいんです

102 名前:デフォルトの名無しさん mailto:sage [2024/09/28(土) 17:25:46.96 ID:aGtM+jOEd.net]
どう考えても普通にJavaScriptやる方がいい。
C#履修者ならTypeScript自体の習得は爆速だよ、本気でやれば多分一週間もかからない。何しろ設計者が同じなので書き味に違和感が無くなるのはすぐのはず
問題はReact、Vue、Nextなどフレームワークやライブラリのスキルだけど、正直ここは常にコロコロ変わって勉強が必要な分野なので途中参加でもあまりハンデはないと思う
転職しても、JavaやC#のお硬い言語のキャリアは重宝されるから決して無駄にはならないはず
ASP.NETやBlazorの需要は限定的だし先行き不透明過ぎる
自分も似たようなことしたので頑張って

103 名前:デフォルトの名無しさん (ササクッテロ Sp47-i443) mailto:sage [2024/09/28(土) 18:03:06.22 ID:vky4rjg9p.net]
スクリプト言語は糞

104 名前:デフォルトの名無しさん (ワッチョイ 72d1-sm05) mailto:sage [2024/09/28(土) 18:12:04.40 ID:iFauIOzc0.net]
クソでも使えるやつは優秀

105 名前:デフォルトの名無しさん mailto:sage [2024/09/28(土) 20:12:23.11 ID:Dk+INUbR0.net]
業務でASPNETCoreバリバリ使ってはいるけど
ASPNET単体の知見が転職活動で役に立つとは思えない
というか、C#ができてHTML/CSS/JavaScriptが読み書きできる人なら普通に無勉強/経験なしでもASPNETで開発できちゃうからセールスポイントにならないのよね

うちんとこはReactみたいなモダン()なフレームワークは使ってないけど、それでもJS/TSの知識は必須
愚直にWeb系の勉強をするのが先かなと思うよ

106 名前:デフォルトの名無しさん mailto:sage [2024/09/28(土) 23:13:28.34 ID:Nide2Zz10.net]
>>102 >>103
参考になりました。とりあえずHTML/CSS/JavaScript(TypeScript)辺りちゃんとやろうかと思います
ただなぁ……自習してました!じゃなんもアピールにならない気もするんだよなぁ……結局実務経験0だし
プログラミングスクールでも受講してある程度やったと保証になるものを取りに行こうかな

107 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 00:27:31.57 ID:5ys4rELsM.net]
github見せろよ

108 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 02:19:57.40 ID:xonfxjDO0.net]
むしろプログラミングスクールの経験のほうが誰もまともに受け取らないよ
自走力がないやつと思われる

素人じゃないだろうしわざわざナメられる道を通るのはオススメしない

109 名前:デフォルトの名無しさん mailto:sage [2024/10/01(火) 15:20:52.03 ID:Ed7m5Yrp0.net]
github見せると、趣味がバレちゃう・・・

110 名前:デフォルトの名無しさん (ワッチョイ d3b3-Ffi2) mailto:sage [2024/10/02(水) 00:50:46.59 ID:xje2sb9e0.net]
そもそもSVNの現場ばかりでgithubの使い方よくわからないレベルだわ
というか世の中10年前にはSVNなんてオワコン言われてたってのが信じられねぇ



111 名前:デフォルトの名無しさん mailto:sage [2024/10/02(水) 02:07:15.64 ID:PWZ+bQBz0.net]
個人で使って覚えればいいじゃん

112 名前:デフォルトの名無しさん mailto:sage [2024/10/02(水) 11:24:45.59 ID:1LKJTfPy0.net]
個人で使う限りじゃ4つくらいしかコマンド使わんからなぁ

113 名前:デフォルトの名無しさん mailto:sage [2024/10/03(木) 20:33:51.33 ID:+e3Oo1T60.net]
C#13(.net 9)でfieldキーワードが使えるようになるって聞いたのですが本当ですか?
VisualStudioでプレビュー版の.net9入れてみたけど使えないみたいでした
それともプレビュー版だから使えないのでしょうか?

114 名前:デフォルトの名無しさん mailto:sage [2024/10/03(木) 21:05:51.32 ID:B9NoCJyO0.net]
予定してたけど今回は見送りなんてことは、ままあるからなぁ
ttps://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-13
今のところは入ってないみたいね

115 名前:デフォルトの名無しさん mailto:sage [2024/10/03(木) 21:29:33.72 ID:0TFd8a4L0.net]
え、一番期待してたのに…
c#でググれの人は何て言ってるんだろう

116 名前:デフォルトの名無しさん mailto:sage [2024/10/03(木) 21:39:37.41 ID:+e3Oo1T60.net]
ありがとうございます
確かに記載が無いので残念ですが今回は見送りっぽいですね、、、

117 名前:デフォルトの名無しさん mailto:sage [2024/10/03(木) 22:03:08.87 ID:B9NoCJyO0.net]
ttps://github.com/ufcpp-live/UfcppLiveAgenda/issues/94
>たぶんもう C# 13 で入れるもの確定。参考: Language Feature Status
>今入ってないものは入らない。
>field キーワードは「C# 13 GA のタイミングで、 preview で取り込み」みたいな話を https://aka.ms/dotnet-discord で見た。

だそうです

118 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 00:03:36.27 ID:GSZ7pDda0.net]
うーん、微妙か
まぁ.net 10では入るだろうし来年に期待

119 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 08:49:00.52 ID:mCOfH6eY0.net]
どうせ奇数番はサポート短くてスルーだし

120 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 12:39:45.28 ID:jlwDuTCM0.net]
C#追っかけなくなって知識がdotnet4.5辺りでとまっている…
それ以降はrecordとかしかしらん



121 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 22:48:00.45 ID:Yj1cCLJZ0.net]
メモ帳や日記帳アプリみたいな軽いアプリで、ソースコード公開されてて
コードが初心者にも参考になるようなサイトあるでしょうか?

122 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 23:53:09.57 ID:qaeIDBN+0.net]
こんなのじゃあかんのん?

C#で自分だけのメモ帳を作成してみよう!手順・方法を徹底解説します
https://www.sejuku.net/blog/102177

ググったら一分も掛からないで出たけど

123 名前:デフォルトの名無しさん mailto:sage [2024/10/05(土) 13:21:11.69 ID:AAO+SKFS0.net]
>>122
サンクスです、丁寧に書いてあってわかりやすいのですが
設定項目を変更した時の設定反映のタイミングとか
form2からform1にデータ持っていく場合とか
やり直し機能とか
うまい人はどうやって全体まとめてるのかなって

124 名前:デフォルトの名無しさん mailto:sage [2024/10/05(土) 16:55:01.99 ID:WPvPgesDM.net]
必要な部分だけ他人のコードを読むか自分でひたすら考えて実装してトライアンドエラー

どちらも地力が格段に上がるけど中級者は避けがち

125 名前:デフォルトの名無しさん mailto:sage [2024/10/05(土) 17:35:53.95 ID:iTplU71b0.net]
それメモ帳というかエディタで大変な箇所を全部端折った記事だから
適当な公開されてるソース読んだ方がいいね

126 名前:デフォルトの名無しさん (ワッチョイ 7fd1-mKKC) mailto:sage [2024/10/05(土) 20:37:56.54 ID:fkWv7ZOM0.net]
その適当なのほしいって事やろな

ここの連中は冷たいから教えないんだよね

127 名前:デフォルトの名無しさん mailto:sage [2024/10/05(土) 22:47:10.24 ID:AAO+SKFS0.net]
メモ帳とかの作者さんでソース公開されてる人もC++が多かったり

128 名前:デフォルトの名無しさん mailto:sage [2024/10/06(日) 08:44:42.11 ID:6ToZA1R70.net]
長大なテキストファイルの先頭から文字数を数えたり
一行の長さを測定して画面右端の折返し位置を決定したり
そういうのって現実的に可能なのか?

129 名前:デフォルトの名無しさん mailto:sage [2024/10/06(日) 09:02:55.59 ID:efCavYAy0.net]
>>128
発想がズレてる

130 名前:デフォルトの名無しさん mailto:sage [2024/10/06(日) 12:41:06.92 ID:RTiROZJD0.net]
>>128
逆になんで不可能だと思うの?



131 名前:デフォルトの名無しさん (ワッチョイ 9bfe-ecvX) mailto:sage [2024/10/06(日) 13:11:45.32 ID:k/Za2WiE0.net]
普通は穴あきバッファを使う
EZ/VZはlessに編集機能を付けるってユニークな設計をしている
設計自体を知りたいなら 「The Craft of Text Editing: Emacs for the Modern World」が参考になるかと

FINALはdumpすると、MIFESとREDの悪口が書いてある:-p

132 名前:デフォルトの名無しさん mailto:sage [2024/10/06(日) 14:14:27.86 ID:onWt8ZIM0.net]
「穴あきバッファ」なんて初見なんだけどもしかして誤訳じゃない?

133 名前:デフォルトの名無しさん mailto:sage [2024/10/06(日) 14:18:43.02 ID:vkebIpm90.net]
エディタのバッファ管理用のデータ構造は効率的な編集をサポートするためで
文字数カウントや行の折り返しの話はどういうデータ構造を使うかとはほとんど関係ないよね

今はGap Bufferもあまり主流じゃなくてPiece TableかRopeが使われることが多くなってる

134 名前:デフォルトの名無しさん mailto:sage [2024/10/06(日) 14:21:17.70 ID:vkebIpm90.net]
興味があれば↓この辺読んでみるといい
TypeScriptだしC++に比べるとわかりやすいはず
https://code.visualstudio.com/blogs/2018/03/23/text-buffer-reimplementation

この辺の話はエディタのコアな部分ではあるけど
>>123の知りたいこととはほぼ関係ない

135 名前:デフォルトの名無しさん mailto:sage [2024/10/06(日) 15:19:51.19 ID:6ToZA1R70.net]
なにかの文書を画面に表示したい
← 表示したい部分が何行目に当たるか計算する
← 一行に含まれる文字数を知りたい
← プロポーショナルフォントのときはどうするん?
← 行の長さを測定する関数使え
← 一文字ずつ足したり引いたりしながら測定を繰り返す
← 全部の行についてこれやんなきゃかよ?
← やってられない

136 名前:デフォルトの名無しさん mailto:sage [2024/10/06(日) 18:49:45.21 ID:TXz4j2F10.net]
azukiのソースコード見れば?

137 名前:デフォルトの名無しさん mailto:sage [2024/10/06(日) 18:57:38.47 ID:I3D2t/Zs0.net]
>>135
>← 表示したい部分が何行目に当たるか計算する
テキストファイルなら頭から読み込むしかなく改行でカウントアップするだけ

>← 一行に含まれる文字数を知りたい
>← プロポーショナルフォントのときはどうするん?
文字数によって折り返し位置が決まるか
表示幅によって折り返し位置が決まるかのどちらか
両方のルールを同時に適用するというのは一般的ではない
プロポーショナルフォントが関係してくるのは後者の場合のみ

表示幅で折り返す場合は指定したRectangleにフィットするよう
よろしくやってくれる表OS提供のAPIがあるので基本的にはそれを使う
APIの内部的では各文字の表示幅を足し算してるが
とりあえずは画面表示部分だけを計算すればいいので
思ってるほど大した計算量ではない

>← やってられない
んなことたぁない

138 名前:デフォルトの名無しさん mailto:sage [2024/10/06(日) 20:12:16.90 ID:MCn4L0pH0.net]
そもそも公開されてるソースがC++多いからなんだというのか

139 名前:デフォルトの名無しさん mailto:sage [2024/10/07(月) 02:48:29.36 ID:x7sAaviV0.net]
>←
それより矢印の使い方おかしくね?と思った

140 名前:デフォルトの名無しさん mailto:sage [2024/10/07(月) 06:41:02.52 ID:5XNBqMZ+0.net]
→えっ



141 名前:デフォルトの名無しさん mailto:sage [2024/10/07(月) 07:51:22.02 ID:W61JLdXH0.net]
矢印 Unicode(ユニコード)一覧 文字 0g0.org
https://0g0.org/topic/arrows/

142 名前:デフォルトの名無しさん mailto:sage [2024/10/07(月) 08:50:05.33 ID:D9AWyaeE0.net]
↑↑↓↓→→←←

143 名前:デフォルトの名無しさん mailto:sage [2024/10/07(月) 20:30:46.78 ID:0ozgkte7M.net]
個人レベルで作るなら別にベストな方法じゃなくても良い
とりあえず作ってみたらいい
そして徐々にブラッシュアップしていけばいい

144 名前:デフォルトの名無しさん mailto:sage [2024/10/08(火) 02:42:19.62 ID:xQWM8K5Vd.net]
どうせTextBoxかRichTextBox使うから
いちいち行の文字数数えて改行とかという発想がでてこなかったわ
毒されてるんだろうか

145 名前:デフォルトの名無しさん [2024/10/08(火) 09:46:02.12 ID:5xpr1xvYF.net]
質問者の作りたい物に行番号やカーソル位置座標とか要らなさそうだから
テキストボックスで十分だと思う

146 名前:デフォルトの名無しさん mailto:sage [2024/10/09(水) 03:08:11.25 ID:w53uZCE9d.net]
行列番号、文字数、ファイルサイズ、ドラッグ移動、カラー絵文字、正規表現検索&置換、折り返し
これぐらい欲しい

147 名前:デフォルトの名無しさん (ワッチョイ 5af9-7zav) mailto:sage [2024/10/09(水) 05:37:10.40 ID:u99M/+800.net]
こりゃ確かにいろいろと発想がズレてるな

148 名前:デフォルトの名無しさん mailto:sage [2024/10/10(木) 01:43:13.48 ID:9oubSm9f0.net]
カラー絵文字ってどうやるんだろう

149 名前:デフォルトの名無しさん [2024/10/10(木) 01:45:48.53 ID:l5e/OliZ0.net]
どうとは?
もしかしてわざわざ白黒にしてるのか?

150 名前:デフォルトの名無しさん [2024/10/10(木) 02:14:45.51 ID:To6qDb1x0.net]
くるみぽんちおの刑だ!!



151 名前:デフォルトの名無しさん mailto:sage [2024/10/10(木) 14:48:43.23 ID:9oubSm9f0.net]
まじかテキストボックスがカラー絵文字に対応したのか
週末試してみるわありがと

152 名前:デフォルトの名無しさん mailto:sage [2024/10/11(金) 00:26:48.51 ID:zClzE2L70.net]
win11で作ったformアプリがwin10で盛大にズレてて頭抱えてる

153 名前:デフォルトの名無しさん mailto:sage [2024/10/11(金) 01:05:53.43 ID:bny4Xk3b0.net]
>>152
何をもってOSに起因する症状だと判断したの?

154 名前:デフォルトの名無しさん mailto:sage [2024/10/11(金) 06:58:29.47 ID:tH3T8XD80.net]
OSバージョン毎のフレームサイズの差異とか気にもせずに処理でも書いたか?

155 名前:デフォルトの名無しさん [2024/10/11(金) 08:01:38.38 ID:v/PLCR+10.net]
OS関係なく単にディスプレイのスケーリングの違いでは

156 名前:デフォルトの名無しさん mailto:sage [2024/10/11(金) 09:18:43.20 ID:izME7MQN0.net]
それだな

157 名前:デフォルトの名無しさん mailto:sage [2024/10/11(金) 09:50:54.30 ID:wAOvgD780.net]
フォントとか配置とかやり直しはMacOSのあるあるだと思ってた

158 名前:デフォルトの名無しさん mailto:sage [2024/10/21(月) 02:25:35.38 ID:SQ8zGBXh0.net]
ライブラリを使用するために下みたいなコード書いた
ライブラリ内でIHoge.Method();の機能を上書きしたいのとHogeで設定されるさまざまな機能を使いたいがためにIHogeを実装したHogeクラスを継承してMethod();を隠蔽、そのうえでライブラリから呼び出されるようにIHogeをさらに継承?実装させてる

ちょっと無理矢理感強いけどこれはアリですか?

ライブラリの中

IHOGE.Method();


public interface IHoge
{
public void Method();
}
public class Hoge : IHoge
{
public void Method()
{
元の処理
}
}

自前で作ったクラス
public class NewHage : Hoge,IHoge
{
public new void Method()
{
上書き処理←やりたいこと
}
}

159 名前:デフォルトの名無しさん mailto:sage [2024/10/21(月) 02:45:34.93 ID:SQ8zGBXh0.net]
>>121
亀レスだけどすごいのあったぞ
中身見てないけど多分お前が望んでるやつだと思う
https://sumiox.com/cs-windowsorm-mynote/

160 名前:デフォルトの名無しさん mailto:sage [2024/10/21(月) 08:25:43.38 ID:451kbP4c0.net]
>>158
Hoge.Methodにvirtual
NewHage.Methodでoverride



161 名前:デフォルトの名無しさん mailto:sage [2024/10/21(月) 12:38:44.14 ID:1/IbrF450.net]
>>158
それがやりたいことなら別にいいんじゃね?

Hogeの他のメソッドがMethod()を呼ぶとか
Method()がHogeの他のメソッドを呼ぶとかの関係が出てくると
newを使わない場合に比べるとバグるリスクが高くなるような気はする

インターフェース+コンポジションにしておけばバグるリスクは低くなる
その代わりに多少書く手間がかかる

162 名前:デフォルトの名無しさん mailto:sage [2024/10/21(月) 12:53:33.54 ID:bUjh45Ks0.net]
>>160
Hogeはライブラリの中の実装だからvirtualにできないのつらみ
>>161
なるほどありがとう

163 名前:デフォルトの名無しさん mailto:sage [2024/10/22(火) 12:35:56.21 ID:SqPRTKfI0.net]
newで上書きしたことないな

164 名前:デフォルトの名無しさん mailto:sage [2024/10/22(火) 19:02:31.64 ID:4SydPJoD0.net]
>>163
なんかchatGPTが教えてくれた

165 名前:デフォルトの名無しさん mailto:sage [2024/10/22(火) 19:03:43.61 ID:4SydPJoD0.net]
てかVisualStudioが教えてくれた
緑波線でnewしてくださいって
public new 戻り値の型 メソッド名

166 名前:デフォルトの名無しさん mailto:sage [2024/10/23(水) 20:43:06.26 ID:laRxPcH30.net]
ML.NETを試してみたら思いの外お手軽で面白いな
アプリにさくっと組み込めそうだ

167 名前:デフォルトの名無しさん mailto:sage [2024/10/23(水) 21:09:39.51 ID:KLvEEO4T0.net]
>>166
薄い本があるので入手お勧め

168 名前:デフォルトの名無しさん mailto:sage [2024/10/24(木) 06:52:54.39 ID:OBQWEe3S0.net]
.NET MAUIで試したことあるけどWindowsはいけたがAndroidではトレーニングでエラーはいた記憶

169 名前:デフォルトの名無しさん mailto:sage [2024/10/27(日) 08:19:05.51 ID:9uOX0V+f0.net]
>>159
サンクスです、これはすごいな
解説がおおくてわかりやすい
これのソースコードがダウンロードできたらよかったのに

170 名前:デフォルトの名無しさん mailto:sage [2024/11/01(金) 19:03:45.14 ID:lJMjrugG0.net]
CookieってSystem.Text.Jsonでシリアライズ・デシリアラズするとDomainKey変わっちゃってSet-Cookieで同じ名前のクッキー来ても違う奴判定されてダブるんだな
正確に言うと先頭ドット有りだと変わらないのと、BinaryFormatterやNewtonsoft.Jsonで非パブリックフィールド含む全フィールドをそっくりそのままストア・ロードさせれば変わらないんだけど



171 名前:デフォルトの名無しさん mailto:sage [2024/11/14(木) 09:50:27.66 ID:2GoXPHL10.net]
ZipPlaってファイル管理ソフトのソース持ってる人いる?
居たらアップして欲しい

172 名前:デフォルトの名無しさん mailto:sage [2024/11/14(木) 10:20:27.81 ID:WaFHXOHg0.net]
>>171
ぐぐったらGitHubにForkされたのがあるようだぞ
オリジナルからどの程度手が入ってるか知らんけど

173 名前:デフォルトの名無しさん mailto:sage [2024/11/16(土) 02:07:13.59 ID:h+Fv95x40.net]
>>172
自分もそれは見つけたんだけど、何を変えてるのかもハッキリしないんですよね
なのでオリジナル持ってる人が居たらと思いまして

174 名前:デフォルトの名無しさん mailto:sage [2024/12/07(土) 11:39:26.82 ID:ITlUnsCD0.net]
WinFormsってWindowのクラスネーム決められないの?
Win32のFindWindowのClassNameで探させたいのだけど

175 名前:デフォルトの名無しさん (ワッチョイ 3aae-tB/P) mailto:sage [2024/12/07(土) 17:24:39.89 ID:8OMGJvUm0.net]
protectedなCreateParamsプロパティをオーバーライドしてClassNameを書き換えることはできる
独自名ならとりあえずRegisterClassは必要だけどそれだけで済むかどうかは知らん

176 名前:デフォルトの名無しさん mailto:sage [2024/12/08(日) 10:13:10.77 ID:Rw3oOi650.net]
C#側のプロパティは書き換えられても実際の内部の値はそういうことしないと無理そうか

177 名前:デフォルトの名無しさん mailto:sage [2024/12/08(日) 11:19:30.20 ID:kkfUSfWy0.net]
RegisterClassExしてやろうとしたことあるけど
CreateParamsでRegisterしたClassName指定してもエラーになって
それで良く分からんまま放棄したな昔

178 名前:デフォルトの名無しさん [2024/12/08(日) 11:24:39.87 ID:I292Dtst0.net]
流行りのAIはその辺何か教えてくれんのか?

179 名前:デフォルトの名無しさん mailto:sage [2024/12/08(日) 11:42:31.33 ID:gLALr0T30.net]
はい

180 名前:デフォルトの名無しさん (ワッチョイ 47d7-InQL) mailto:sage [2024/12/08(日) 12:16:51.06 ID:9nkQEnF50.net]
人間が垂れ流した知識を混ぜるだけのAIが、人間が知らないことを教えられるわけないだろw



181 名前:デフォルトの名無しさん mailto:sage [2024/12/08(日) 12:37:03.03 ID:cRlpRIfuM.net]
世界中のどこかで語られたかもしれない事実をそこらの人間がすべて知ってると思うのがおかしい気がする

182 名前:デフォルトの名無しさん mailto:sage [2024/12/08(日) 17:47:34.90 ID:d7OE/SEZ0.net]
つーかさWin32APIのCreateWindowで作ったウィンドウをC#にAttachする程度基本的な仕組みぐらいあるやろ
あるやろ…

183 名前:デフォルトの名無しさん mailto:sage [2024/12/08(日) 21:09:31.34 ID:NIwBIUGx0.net]
CSharp初心者が学習始めるなら何からがおすすめ?
多分IIS?使ったウェブアプリになるんだけども
Javaでのアプリ開発経験はあり

184 名前:デフォルトの名無しさん mailto:sage [2024/12/08(日) 21:38:41.73 ID:Dh5r1ipA0.net]
Paint.netのソースを見たまえ

185 名前:デフォルトの名無しさん (ワッチョイ 5f62-oAsD) mailto:sage [2024/12/08(日) 21:46:52.70 ID:NIwBIUGx0.net]
これかな、ありがとちょっと見てみるわ
h
ttps://github.com/paintdotnet

186 名前:デフォルトの名無しさん [2024/12/09(月) 11:14:47.99 ID:uh4vUAM3a.net]
SetWindowLong
SetWindowLongEx

187 名前:デフォルトの名無しさん [2024/12/09(月) 11:15:02.52 ID:uh4vUAM3a.net]
GWL_EX_STYLE

188 名前:デフォルトの名無しさん (ワッチョイ dff4-tB0+) [2024/12/09(月) 13:22:41.09 ID:wWCmXoxS0.net]
科学 + 5ch

【AI】AIはわずか2時間の対話で人間の性格をコピーできる [すらいむ★]
https://egg.5ch.net/test/read.cgi/scienceplus/1733576027/

コメントに面白いことが書かれている

189 名前:185 mailto:sage [2024/12/09(月) 17:56:14.64 ID:apYLNmO+0.net]
PaintDotNetをインストールした

190 名前:デフォルトの名無しさん mailto:sage [2024/12/11(水) 06:17:57.42 ID:BgUz4+cQ0.net]
varなんて使うな戦争ってもう終結したの?



191 名前:デフォルトの名無しさん mailto:sage [2024/12/11(水) 07:27:33.98 ID:DZxIsQuWr.net]
言語によりけりだから

192 名前:デフォルトの名無しさん mailto:sage [2024/12/11(水) 08:36:42.20 ID:tumrZkmz0.net]
盲目的にvar使うなとは思うけど、一切使うなはないなぁ

193 名前:デフォルトの名無しさん mailto:sage [2024/12/11(水) 08:50:12.41 ID:AAqkzyDB0.net]
まあマイクロソフトのサンプルにも使ってる例あるしな

194 名前:デフォルトの名無しさん (ラクッペペ MM8f-n9Eh) mailto:sage [2024/12/11(水) 10:05:12.70 ID:BwkZDwjMM.net]
jsのvarと違ってただの便利機能だしな

195 名前:デフォルトの名無しさん (ワッチョイ 476d-Ahcx) [2024/12/11(水) 12:36:15.23 ID:uq+uLBFl0.net]
varで参照型を扱うとnullableになるのはどうにかしてほしい

196 名前:デフォルトの名無しさん (ワッチョイ 87ae-pQ4B) mailto:sage [2024/12/11(水) 13:56:36.44 ID:pPQiPOka0.net]
推論型なんだし、必要に応じて使えばいいんじゃね?
objectならともかく

197 名前:デフォルトの名無しさん (ワッチョイ df6c-Fa9A) mailto:sage [2024/12/11(水) 14:39:24.72 ID:1I783KxU0.net]
varが絶対必要なのって匿名型使うときだけだから、必要に応じて使う、だとvarはほとんど用無しになっちゃう
戦争に参加するつもりはないが仮にvar使うんなら必要に応じてじゃなく基本varにしないと

198 名前:デフォルトの名無しさん mailto:sage [2024/12/11(水) 14:54:27.03 ID:9MAiYNgK0.net]
c#は基本varでいいよね
多分大体のc#er?はvarじゃないときにだけ理由を気にするんじゃないかな

199 名前:デフォルトの名無しさん mailto:sage [2024/12/11(水) 18:36:49.06 ID:SiVbJLlPM.net]
初期に頭のいい人は一番先に varに飛び移った
その後みんな気が付いて移行した
今でも使わないのはご老人

200 名前:デフォルトの名無しさん (ワッチョイ 475a-NyP9) mailto:sage [2024/12/11(水) 19:15:48.68 ID:Rq12mde/0.net]
varばかりやわ



201 名前:デフォルトの名無しさん [2024/12/11(水) 20:38:24.59 ID:pwnGkEKD0.net]
VBのVariant最強

202 名前:デフォルトの名無しさん mailto:sage [2024/12/11(水) 20:41:39.44 ID:SiVbJLlPM.net]
それはないかなw

203 名前:デフォルトの名無しさん [2024/12/11(水) 23:21:13.31 ID:uq+uLBFl0.net]
インターフェース分離の原則が分からない
「必要のない振る舞いを実装しない」のは適切だと思うんだけど、ポリモーフィズムとの組み合わせが悪いように思う

interface IBird { string Name { get; } }
interface IFlyable { void Fly(); }

// ペンギンは飛べないので IFlyableを実装しない
class Pengin : IBird { ... }
class Eagle : IBird, IFlyable { ... }

のようにした場合に、プログラムが List<IBird> birds のような形でデータを持つと、「飛べる鳥がいる」という情報が型から消える

foreach (IBird bird in birds) {
 Console.write(bird.Name);
 if (bird is IFlyable flyable) {
  flyable.Fly();
 }
}

「飛べる鳥なら飛ばす」ようにしたい場合、インターフェースを分離する場合だと上記のように is でキャストするしか無さそう?
IBirdで扱っているのに「インスタンスは IFlyable である可能性がある」という情報に依存してるのに少し違和感があって、より綺麗な解決策があれば知りたい

204 名前:デフォルトの名無しさん (ワッチョイ e701-5/pq) mailto:sage [2024/12/12(木) 00:16:45.29 ID:7oNgfo0K0.net]
c#スレですよ

205 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 08:54:59.88 ID:ZQ0BgCqv0.net]
そこを別々のインターフェースとして分離するのが間違ってるだでは
飛べる飛べないも”鳥”の一要素でしょ

206 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 08:59:12.98 ID:cbjQHW3y0.net]
プロパティで持てば解決

207 名前:デフォルトの名無しさん (ワッチョイ 476d-Ahcx) [2024/12/12(木) 09:20:56.04 ID:m/Fq7DtI0.net]
>>206
Nullableな IFrayable? をプロパティとして持たせて、飛ぶ鳥の場合はthisを返すようにするということ?

208 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 09:43:51.10 ID:ZQ0BgCqv0.net]
そこだけのインターフェース化に拘るなって言ってんだよ

209 名前:デフォルトの名無しさん [2024/12/12(木) 10:34:43.14 ID:m/Fq7DtI0.net]
鳥とペンギンだと近すぎて例えとして微妙だった
例えば「動物のリスト」のようなデータを持ち、動物には鳥のように飛べるクラス (Flyメソッドを持つ) と、トラやライオンのように走るクラス (Runメソッドを持つ) があるといった場合

動物の一覧を持つには List<IAnimal> のような型を使うと思うけど、これは合ってるよね?
その上で動物によって違うアクションを行わせたいとする

IAnimal側に CanFly のようなメソッドを追加していくと、例えばサルのように「道具を使う動物」が後から追加された場合、IAnimalにメソッド追加が必要になり、それはBirdなどの各クラスにも影響する
Birdクラスは「道具を使う」なんてことは知らないのに、インターフェースのために CanUseTool のようなメソッドを後から追加するのは違う気がする

そうするとやっぱインターフェース分離の形になりそうで、そうなると利用側で is でキャストするのが落としどころなのかと

210 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 13:06:06.44 ID:ZQ0BgCqv0.net]
鳥以外にも飛ぶ(正確には滑空だが滞空することに変わりはない)動物は居るし
鳥だって地面をRunするヤツは居る
鳥にも、猿程でなくてもその辺に落ちてる物を道具的に使うヤツも居る

お前の例題がそもそもめちゃくちゃなんだよ



211 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 13:06:59.82 ID:ZQ0BgCqv0.net]
あといい加減余所でやれ
C#直接関係ない

212 名前:デフォルトの名無しさん [2024/12/12(木) 17:51:32.06 ID:pRQ+cocj0.net]
ここの住人はC#を使っていてSOLID原則に悩まされたことなど無いのだろうか

213 名前:デフォルトの名無しさん [2024/12/12(木) 18:08:37.64 ID:A8Z2cdQL6.net]
>>203
ある動物が飛べることと、鳥であることは独立なんだから、
「飛べる鳥がいる」という情報はなくても仕方なくない?
統計的な相関関係はあるかもしれないが、包含関係でないなら仕方ない。
飛べる他の動物を無視するのなら、IBirdを継承したインタフェースでIFlyableBirdを作ればいいのでは?

214 名前:デフォルトの名無しさん [2024/12/12(木) 18:40:52.28 ID:m/Fq7DtI0.net]
ISP自体はC#でよく出てくる問題じゃないの?
これなんかまさにそう
https://dev.to/fabriziobagala/interface-segregation-principle-452m

だけどこういった解説はISP単体の説明になっていて、泳ぐ、走るといった能力の異なるものを Animal として抽象化する方法を教えてくれない
綺麗な方法でなくても「C#ではこうすることが多い」のようなプラクティスがあれば知りたかったんだけど、そういうのは無さそうなんですかね

215 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 19:18:32.74 ID:j5Bpxje00.net]
実装を伴わない抽象化の話ってなんの身にもならないからやめなさい
それとインターネットサービスプロバイダの話は他所でやってくれ

216 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 19:18:50.89 ID:F/GYmEjD0.net]
求めてそうなプラクティスは見た事ないなぁ
個人的には、飛ぶにしても走るにしても動物という存在の態様のひとつだから
動物IFのプロパティに含めるでいいんじゃないかと思うけどね

217 名前:デフォルトの名無しさん [2024/12/12(木) 19:36:28.62 ID:uARXvv9l0.net]
var unko = new Unko()

より

Unko unko = new()

の方が良くね?

218 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 19:46:48.91 ID:j5Bpxje00.net]
もっと地球規模の視野で考えろよ
うんこも地球の一部だろ?つまりうんこは地球とも言える
わかるか?

219 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 19:55:04.36 ID:F/GYmEjD0.net]
>>217
まぁ、後者ができるようになったの後になってからだから

220 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 22:38:48.07 ID:VQmaeBIU0.net]
>>214
それISP単体の説明にもなってない
class Penguin : IAnimalにNotImplementedExceptionでFly()を実装すれば即ISP違反だというのは間違い
まずは原典にあたってISPを理解してきたほうがいい
謳われてる原則をどう活用するかはその後



221 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 22:49:28.08 ID:cbjQHW3y0.net]
そもそも
そんな鳥のプログラムなんか一般的じゃねーし

222 名前:デフォルトの名無しさん [2024/12/12(木) 22:59:54.30 ID:m/Fq7DtI0.net]
>>220
「クライアントが『泳ぐ、飛ぶ、もしくは走る動物』として使うことを想定するのなら、そのインターフェースであるIAnimalにその情報を含めるのは適切」ということですかね
class Penguin としては Fly や Run などのメソッドの実装はノイズに思えるけど、IAnimalとして使われるなら、その契約に従えという感じかな
(それだと後から「道具を使う」がIAnimalに追加された際に Penguine もメソッド追加が必要で、そこがモヤモヤしてる)

こういう場合にアダプタ (ラッパー?) を使うのって適切?
純粋に Penguine としての機能を提供するクラスと、それを IAnimal として使うためのアダプタみたいなの
それだと更に複雑さを増すだけ?

OOP難しい……

223 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 23:02:07.06 ID:cbjQHW3y0.net]
適切とか
とりあえず作ればよくね?

適切かどうかなんてエグゼにしたら関係なくね?

それとも論点だけ考えて実際のプログラム作らないの?

それ何したいの

224 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 23:31:52.39 ID:RbZTiiBk0.net]
例が不適切だから混乱してるだけにしか見えないなぁ

225 名前:デフォルトの名無しさん (ワッチョイ ff70-Ahcx) [2024/12/12(木) 23:50:28.74 ID:cAk5An+50.net]
SOLIDが現実のコードで使われなかったり、「オブジェクト指向は問題を複雑にするだけ」みたいなことを言われる原因

226 名前:デフォルトの名無しさん (ワッチョイ 6714-oAsD) mailto:sage [2024/12/13(金) 01:16:53.76 ID:sFncMVeV0.net]
>>203
インターフェース分離の原則は「クラスが必要としないメソッドを実装しない」ってだけ
ペンギンのような飛べない鳥が IFlyable を実装しないのは正しい
あとは「飛べる鳥」をインターフェースで分かるようにしてやればいい
isを使う羽目になったのは飛べるかどうかわからない IBirdをListにしてるから
---
interface IBird { string Name { get; } }
interface IFlyable : IBird { void Fly(); }
// ペンギンは飛べない
class Penguin : IBird {
public string Name => "Penguin";
}
// ワシは飛べる
class Eagle : IFlyable {
public string Name => "Eagle";
public void Fly() => Console.WriteLine($"{Name} is flying!");
}
// 飛べる鳥だけを扱うリストを作る
List<IFlyable> flyableBirds = new List<IFlyable> { new Eagle() };
foreach (var bird in flyableBirds) {
bird.Fly(); // 明示的に飛べる鳥しか扱わない
}

227 名前:デフォルトの名無しさん (ワッチョイ e701-5/pq) mailto:sage [2024/12/13(金) 01:54:21.75 ID:aJRVKPMX0.net]
こいつら病気なんか

228 名前:デフォルトの名無しさん (ワッチョイ df2b-2fXw) mailto:sage [2024/12/13(金) 01:55:37.37 ID:0Vp4NoOf0.net]
だね

229 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 06:18:42.75 ID:ooVm180t0.net]
SOLIDにしても所詮理想論であって現場に即してるわけじゃないしなぁ

230 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 07:39:08.04 ID:WeveN3pQM.net]
せやな



231 名前:デフォルトの名無しさん [2024/12/13(金) 17:30:15.58 ID:LAtQrsJV0.net]
サイコパスの脳の違いを発見。一般の人に比べ線条体が大きいことが判明
karapaia.com/archives/52313287.html

232 名前:デフォルトの名無しさん (スププ Sdff-AHQg) mailto:sage [2024/12/13(金) 20:28:57.37 ID:DLDRNjlrd.net]
関数型がいいんだね!

233 名前:デフォルトの名無しさん mailto:sage [2024/12/14(土) 09:23:37.03 ID:9hmM95L70.net]
後から増えた「道具を使う」には何かいい感じにデフォルト実装つけとけば既存のクラスには影響しないんじゃない

234 名前:デフォルトの名無しさん mailto:sage [2024/12/14(土) 12:26:32.43 ID:vNNE6Utb0.net]
それを派生というのでは?

235 名前:デフォルトの名無しさん [2024/12/14(土) 12:52:03.62 ID:/3oGIJ400.net]
C# 8 からはインターフェースのデフォルト実装が使える

236 名前:デフォルトの名無しさん mailto:sage [2024/12/14(土) 14:27:07.29 ID:TQJHLK8K0.net]
Win10や11のOS付属のpowershell5.1でインラインで書けるC#ってバージョンちょっと古くね
できれば新しいRoslynのC#をpowershellから使いたいのだが
なんか昔の記事しか見つからん

237 名前:デフォルトの名無しさん mailto:sage [2024/12/14(土) 15:05:36.28 ID:uE892PPx0.net]
どうせ別に入れる必要があるならPowerShell 7入れれば良くね

238 名前:デフォルトの名無しさん [2024/12/14(土) 16:09:38.02 ID:SXm2TFHi0.net]
>>236
起動時に出て来るメッセージすら読めないのか

239 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 03:52:31.32 ID:c6iml+qS0.net]
>>238
お前はこれでも読んどけ
https://learn.microsoft.com/ja-jp/powershell/scripting/whats-new/differences-from-windows-powershell?view=powershell-7.4
Roslyn単体で使うだけならビルドツール拾ってくるだけだが
Powershell上げるとなると仕様も大幅に変わってたりして無理だし俺が出した要件の解にもなってない

240 名前:デフォルトの名無しさん [2024/12/15(日) 04:43:36.26 ID:OuaeEhke0.net]
>>239
馬鹿が必死に調べただけの浅い知識で言い訳してる



241 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 09:22:53.93 ID:6s9C3wLNM.net]
今のところ互換性の為に残してあるんだろう
それを変えちゃうと問題が起こる可能性があるしMS側のメンテがめんどうなので
変えたい人は7とセットで入れろということなんだろう

242 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 13:32:12.27 ID:1H80RXIX0.net]
>>239
バカの相手はしなくていいわ
その情報はありがたいが

243 名前:デフォルトの名無しさん mailto:sage [2024/12/16(月) 00:02:44.03 ID:jraeIOUM0.net]
PowerShellは完全に袋小路だからもう諦めた方がいい
6以降は事実上Azure専用

244 名前:デフォルトの名無しさん (ワッチョイ db8e-Dyog) [2024/12/16(月) 03:32:32.19 ID:B9vFRMjT0.net]
>>242
うわっ
自分の言い訳コメントに自作自演で恥ずかしい馬鹿発見

245 名前:デフォルトの名無しさん [2024/12/16(月) 04:36:14.08 ID:M2IkaScH0.net]
なんで作っては捨ててくスタイルなんかなMicrosoftは

246 名前:デフォルトの名無しさん mailto:sage [2024/12/16(月) 06:57:26.47 ID:xj9X4IbW0.net]
作ってないやろ
買収してるだけ

247 名前:デフォルトの名無しさん mailto:sage [2024/12/16(月) 08:17:45.85 ID:d6I1DTY60.net]
PSはMSが作ってるが

248 名前:デフォルトの名無しさん mailto:sage [2024/12/16(月) 09:42:40.38 ID:WomMb93i0.net]
Windowsに標準搭載されてる.NET Frameworkと今の.NETの時点で互換性ないのに
なんで.NETアプリであるPowerShellが叩かれるのか

249 名前:デフォルトの名無しさん mailto:sage [2024/12/16(月) 12:31:10.08 ID:zYOmJNRT0.net]
標準搭載されてるPowerShellは.NETアプリじゃなくて.NET Frameworkアプリだからね

250 名前:デフォルトの名無しさん (ワッチョイ 2344-/DxF) mailto:sage [2024/12/16(月) 13:18:44.44 ID:ZxGHnTET0.net]
>>245
MSの社内政治に敗れたチームのプロダクトはそうなりがち
社内政治うまくやってると微妙なやつも長生きする



251 名前:デフォルトの名無しさん (スププ Sd8a-omYb) mailto:sage [2024/12/16(月) 13:27:42.05 ID:HTBCdLEid.net]
frameworkってなんでまだ存在するの?

252 名前:デフォルトの名無しさん mailto:sage [2024/12/16(月) 15:54:22.92 ID:d6I1DTY60.net]
.NETがFrameworkと互換性無くて捨てられないから

253 名前:デフォルトの名無しさん mailto:sage [2024/12/16(月) 19:05:15.35 ID:HTBCdLEid.net]
互換性ないってことは、.NETとframeworkの2つのアプリを動かしたら、GCもそれぞれで動き始めるの?

254 名前:デフォルトの名無しさん mailto:sage [2024/12/16(月) 21:44:01.92 ID:dTKITl7UM.net]
>>253
GCはアプリ(プロセス)毎じゃないの

255 名前:デフォルトの名無しさん mailto:sage [2024/12/19(木) 20:41:55.41 ID:KU+lpcLj0.net]
PowerShellはWindowsにシステムワイドにインストールされた .NET Framework が存在するという前提で成立していたのに、
.NETでは.NET自体をアプリにバンドルするか、必要に応じて特定のバージョンを追加で入れるかになって完全に破綻しちゃったんだよね
一般的な.NETアプリならバンドルは可搬性が向上するから好ましいことだけど、
PowerShellの場合はシステムワイドにインストールされたいろんなモジュールと連携しなきゃいけないから.NETバンドルはありえない
完全に詰んでる

256 名前:デフォルトの名無しさん mailto:sage [2024/12/20(金) 08:54:32.70 ID:6dsqio680.net]
だからPowerShell Coreは標準装備じゃなくて追加装備

257 名前:デフォルトの名無しさん mailto:sage [2024/12/20(金) 10:14:37.03 ID:PANCPXf30.net]
Windowsにそもそも入ってないなら追加インストールでいいんだけどね。問題は5が入っていること。
それによって「なぜ元々入っているのにわざわざ追加するのか」という当然の疑問を解消するコストが生じる。
開発者の好みだけでサポート期間も互換性も劣るゲテモノをゴリ押しするのは極めて困難だし、
そもそもPS書いて飯食ってるタイプのエンジニアでは最新に拘る人はそもそも少ないだろうね

258 名前:デフォルトの名無しさん mailto:sage [2024/12/20(金) 13:01:10.12 ID:9RxE8mFw0.net]
はいそろそろC#の話題でよろ

259 名前:デフォルトの名無しさん [2024/12/20(金) 15:29:33.49 ID:raronLtC0.net]
JAIST、「並行量子通信プロトコル」の完全な自動形式検証を実現
news.mynavi.jp/techplus/article/20241220-3090485/

260 名前:デフォルトの名無しさん mailto:sage [2024/12/20(金) 17:50:29.82 ID:0SGDMmeR0.net]
>>258
なんかある?



261 名前:デフォルトの名無しさん (ワッチョイ 6a79-qWVo) mailto:sage [2024/12/20(金) 20:02:54.65 ID:7538eGNC0.net]
またペンギンやら飛べない鳥だとかの話がしたいのかい?
それともPowshellの付属物の話がしたいのかい?
どっちなんだい?

262 名前:デフォルトの名無しさん [2024/12/21(土) 10:56:38.14 ID:bIHzWCsda.net]
>>257
>それによって「なぜ元々入っているのにわざわざ追加するのか」という当然の疑問を解消するコストが生じる。
>開発者の好みだけでサポート期間も互換性も劣るゲテモノをゴリ押しするのは極めて困難だし、

ほんそれ
5が全部入りにしておくのが正解だっただろうな

263 名前:デフォルトの名無しさん mailto:sage [2024/12/21(土) 11:18:40.67 ID:gj7hxYFQM.net]
PS for sysetmみたいなのを最小セットで入れておけば良かった

264 名前:デフォルトの名無しさん mailto:sage [2024/12/21(土) 11:42:21.51 ID:4NNdAFL10.net]
終わらないPS談義

265 名前:デフォルトの名無しさん mailto:sage [2024/12/21(土) 17:53:08.76 ID:BdmznDtW0.net]
>>264
お前がC#の話題振ってくれりゃ乗るよ
早くしろよ

266 名前:デフォルトの名無しさん (ワッチョイ be10-Xxs2) mailto:sage [2024/12/21(土) 18:15:03.35 ID:4NNdAFL10.net]
いや知らんがw
俺がC#の話題にしろ言うたわけじゃないしw

267 名前:デフォルトの名無しさん mailto:sage [2024/12/21(土) 21:57:55.88 ID:i5j/m89y0.net]
今関わってるプロジェクトがスペース2つでインデントしててちょっと面食らってしまったんだけどこれ珍しくないもの?
今まで携わってきた中で一件も遭遇したことなかった

268 名前:デフォルトの名無しさん mailto:sage [2024/12/21(土) 22:11:41.26 ID:lUhayCnC0.net]
過去に深いネストを大量生産する人がエラくなっちゃって、そういうルールになってしまったんじゃないかと妄想しちゃうなw

269 名前:デフォルトの名無しさん mailto:sage [2024/12/21(土) 23:25:41.77 ID:BdmznDtW0.net]
今時スペース2個は珍しいな、C#とかではあんまりない気がする
昔々はどの言語でもタブを使っていいかとか、スペースで代用するなら2個か4個かで論争があったらしい
JSは2個が主流だった気がするけど今はどうだろ

270 名前:デフォルトの名無しさん mailto:sage [2024/12/21(土) 23:39:03.76 ID:L6mtJxlH0.net]
jsonは2だったり4だったりまちまちだけどね



271 名前:デフォルトの名無しさん [2024/12/22(日) 00:09:01.63 ID:tw4BvM7X0.net]
タブのが合理的
Goみたいな標準フォーマッタがあるのが理想だけどC#はそう言う文化はないね

272 名前:デフォルトの名無しさん (ワッチョイ df79-0Q8V) mailto:sage [2024/12/22(日) 02:26:26.71 ID:/fc7feyD0.net]
俺はスペース2個のが視線移動減って楽だと感じてるからかなり昔から2個派だよ
>>268みたいな日本人特有の右倣えのお仕着せルールに甘んず昔から超効率化してるやつらは世の中に沢山いるんだよ
勉強になったな

273 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 03:54:49.07 ID:f4R4W69d0.net]
TABに統一してるけど
表示上は半角スペース2から4個で用途で変えてる

274 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 05:02:43.67 ID:SvMpALOcd.net]
{}は
if(){
}
の方が好き
普通は
if()
{
}
これ?

275 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 05:44:22.67 ID:96LlHbpn0.net]
逆、最初の頃は上が大多数
ブログやら初心者講座やらで下の書き方が主流担ってきてる感じ

276 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 06:21:31.74 ID:I7bhR46i0.net]
スペース2個インデントって言うと、XMLやHTMLを思い浮かべるな

277 名前:デフォルトの名無しさん [2024/12/22(日) 07:48:19.66 ID:dFQQq0VB0.net]
>>275
違うぞ
上のはJavaやJavaScript界隈でのデファクト

下はMicrosoft系のC#とかのデファクト

公式が出してるコーディング規約がそうなってるだけ

278 名前:デフォルトの名無しさん [2024/12/22(日) 07:50:46.11 ID:dFQQq0VB0.net]
>>276
例えばC#というかasp.net系だとrazor構文でhtmlと一緒にC#のコード埋め込む
そうするとインデントは2の方が見やすい

279 名前:デフォルトの名無しさん [2024/12/22(日) 07:53:26.28 ID:dFQQq0VB0.net]
>>271
C#はチェーンメソッドのドットを縦に綺麗に並べる文化が有るんでタブだと都合が悪い
2でも4でも良いけどスペースがデファクト

280 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 08:13:40.94 ID:96LlHbpn0.net]
>>277
いやだから
C#が出る前というか出始めの頃で
Cプラプラ使い達が多かった時さ



281 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 08:20:56.74 ID:96LlHbpn0.net]
当時、というか関数書くときって
hoge(){
…}

て書くのが一般的やったん

んでDelphiが出てきたらこの{}をBegin…Endで囲むから
hoge()
Begin

End

ここらへんはVBやVBAとかにも反映されて
その後C#で出した際にって感じかな

282 名前:デフォルトの名無しさん (ワッチョイ 5f95-EHcm) [2024/12/22(日) 09:15:42.08 ID:tw4BvM7X0.net]
>>279
タブをインデントで使ってスペースをアライメントで使えば理論上ズレないよ
Goのフォーマッタはこれに従ってるからタブ幅は任意に設定できる

prettierみたいな途中で強制的に折り返すフォーマッタとは相性が悪いけど

283 名前:デフォルトの名無しさん (ワッチョイ 5f95-EHcm) [2024/12/22(日) 09:22:40.24 ID:tw4BvM7X0.net]
Indent with tabs, align with spaces

https://dmitryfrank.com/articles/indent_with_tabs_align_with_spaces

これね
これが理想だけどエンジニアのレベルが高くないとこのルールを守るのは難しいからスペースにしてるのが大半
ただしGoは強制フォーマッタでこれを解決してる

個人プロジェクトなら最初から好きなタブ幅にすればいいからタブにするメリットもあまりないし
気分でタブ幅変えれるのは結構メリットあるけどね

284 名前:デフォルトの名無しさん (ワッチョイ b310-3P54) mailto:sage [2024/12/22(日) 09:27:48.67 ID:I7bhR46i0.net]
俺はずっと>>274の前者でインデントはタブだなぁ
なおタブの幅はスペース4個分

285 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 11:59:15.10 ID:US35TJKc0.net]
「自転車置き場の屋根の色」現象発生中

286 名前:デフォルトの名無しさん (スッップ Sdaf-3P54) mailto:sage [2024/12/22(日) 13:03:56.05 ID:ci/BAnbad.net]
この手の話は職場のルールで決まるから個人がどうこうは関係ないよな
ただ自分のツールなんかは好きにしろだが
カッコ、演算子、型と変数の宣言の間の空白などもめる話題はいくらでもある

287 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 16:36:51.22 ID:J7cuP3Nu0.net]
>>285
「原子力発電所の建設」について議論したいなら付き合うよ、それで議題は?

288 名前:デフォルトの名無しさん [2024/12/22(日) 17:09:33.96 ID:dFQQq0VB0.net]
まあreshaperでテーム共有設定使うだけだしな

289 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 19:48:07.14 ID:US35TJKc0.net]
>>287
では失礼して
Unity製ゲームのMOD開発なんかでリフレクション使いまくるのもなんかスマートじゃないから、
aelij氏のIgnoresAccessChecksToGeneratorを魔改造させてもらってフィールド含めて全パブリック&readonly解除でゲームのコードに全アクセス出来るようになってめっちゃ捗るようになったのだけど、
欲が出て標準ライブラリにも手を出したくなってやってみたらmscorlibなんかはReferenceAssemblyだからプライベートフィールドはそもそもdll内に含まれてないから書き換えられないんだよね。
ランタイム時の実体dllを決め打って渡せばstring.m_firstCharとかList<T>._sizeとかも全てアクセスできるようにはなるんだけど決め打ち渡しもスマートじゃないからどうにか自動で解決をしたい。
ILSpyやmono.cecilにはランタイム時の実体dllを特定するコードあるんだけどbuildアクションから同じ事するのって可能だろうか?

290 名前:デフォルトの名無しさん (ワッチョイ e376-ZNoy) mailto:sage [2024/12/22(日) 19:55:36.15 ID:zKZ5mRgv0.net]
はい



291 名前:デフォルトの名無しさん (ワッチョイ 7b8b-vY+B) mailto:sage [2024/12/22(日) 20:10:00.61 ID:US35TJKc0.net]
へー
なんだかもうゲームよりMOD開発、MOD開発より開発環境開発の方が長くなっちゃってますわ

292 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 20:35:36.44 ID:96LlHbpn0.net]
だって、ここ
別にゲーム開発やないし

プログラムやで

293 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 20:50:51.80 ID:F7NwxYJ7M.net]
いまだにmonoで簡単にいじられまくりゲームあるのか

294 名前:デフォルトの名無しさん mailto:sage [2024/12/23(月) 00:10:04.98 ID:XKMn6iMr0.net]
>>289
日本語がややこしいけど
①標準ライブラリのPrivate含む全フィールドにリフレクションを使わずにアクセスして書き換えたりしたい
んで、
②実体DLLを決め打ちで渡せばアクセスできるってところまでできてる
あとは
③実体DLL取得を自動化したい
④なおかつビルドプロセスに組み込みたい
ってことか
MOD開発とか知らんけど面白そうじゃん

295 名前:デフォルトの名無しさん mailto:sage [2024/12/23(月) 00:36:21.82 ID:XKMn6iMr0.net]
いまいち細かい要件がよくわからんけどAppDomain.CurrentDomain.GetAssemblies()で現在ロードされているすべてのアセンブリが取得できるらしいが、これ試した?
駄目だったならどういうところがダメだったのか教えてくれ

296 名前:デフォルトの名無しさん mailto:sage [2024/12/23(月) 17:33:16.62 ID:HWay8A+S0.net]
>>295
要するにIgnoresAccessChecksToGeneratorの話でMSBuild内のコードとして動くものだからそれやってもMSBuildがロードしてるものが返されるだけとなる
ILSpyなんかもtypeof(object)などから解決してるので上記の理屈でそのまま移植はできない

297 名前:デフォルトの名無しさん mailto:sage [2024/12/23(月) 17:42:25.10 ID:HWay8A+S0.net]
>>293
マルチメインじゃなくmodフレンドリーなゲームならil2cpp化せずそのまま出してるゲームも普通に多いよ
改変やチート防止のためなら難読化含めてやったところでそこまで難易度上がらないからそれ目的ならRustみたいにカーネルドライバ付けるしかない

298 名前:デフォルトの名無しさん mailto:sage [2024/12/24(火) 18:58:01.04 ID:9YLK2p020.net]
個人開発の局所的な用途のマイナーツールの話が原発の建設並の重大事なのか
ちょっと難しすぎてわかんねえな

299 名前:デフォルトの名無しさん mailto:sage [2024/12/24(火) 19:41:54.52 ID:RgkKZ0Pj0.net]
原発ってただの湯沸かし器じゃん
燃料がちょっとヤバイってだけで高尚なC#のプログラムと比較すんなよ

300 名前:デフォルトの名無しさん mailto:sage [2024/12/25(水) 08:00:53.24 ID:vP0zyznod.net]
C#だってただの道具
しかもC#だけじゃお湯も沸かせない
高尚とかちゃんちゃらおかしい



301 名前:デフォルトの名無しさん mailto:sage [2024/12/25(水) 08:26:32.01 ID:ML8x6ihA0.net]
ツールは手段であって目的はアクセシビリティバイパスだから言語レベルのスケールの話な
実際これ求めてる人は少なくないからUnsafeAccessorが実装された訳で
てかリフレクションの方が文字列で指定してる分よっぽど危険だと思うんだけどな

302 名前:デフォルトの名無しさん mailto:sage [2024/12/25(水) 21:07:50.83 ID:G9TljzDw0.net]
エロがビデオを進化させてきようにチートがソフトウェアを進化させるんだよ
湯沸かししかできない原発野郎は難しいなら黙ってろ

303 名前:デフォルトの名無しさん mailto:sage [2024/12/25(水) 21:35:48.64 ID:7oEpQVAc0.net]
煽りたいだけのやつが居着いちゃってるのか、このスレ

304 名前:デフォルトの名無しさん mailto:sage [2024/12/25(水) 21:39:40.34 ID:WXVFxdaX0.net]
いつものことだよあぼーんしときな

305 名前:デフォルトの名無しさん mailto:sage [2024/12/25(水) 21:44:21.01 ID:WWJbrOfz0.net]
だぁ~から
ドーンおじはコテ付けろや

306 名前:デフォルトの名無しさん mailto:sage [2025/01/01(水) 16:01:04.94 ID:nGCOTvnw0.net]
Enum.IsDefined(enumType, intValue)ってボックス化する?

AIに聞いたら最初は「ボックス化しない」とか言われたんだけど、第2引数がobject型として受け取ることを指摘したら「ボックス化するかもしれません」みたいな曖昧な返答されてよく分からなくなってきた

307 名前:デフォルトの名無しさん mailto:sage [2025/01/01(水) 16:03:34.19 ID:zfs+VkVC0.net]
object型ならするよ
.NETのバージョンにもよるけどgeneric版の方が型がコンパイル時解決されるからパフォーマンスは良い

308 名前:デフォルトの名無しさん mailto:sage [2025/01/01(水) 16:07:11.80 ID:nGCOTvnw0.net]
だよね ありがとう

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倍以上ある

410 名前:デフォルトの名無しさん mailto:sage [2025/08/16(土) 18:03:23.17 ID:qTXJOcaQ0.net]
やっぱり皆さんazureの仕事が多いですか?
クラウドアプリのコーディングって大半が異常系のハンドリングになってしまうので書いててあんまり楽しくないです



411 名前:デフォルトの名無しさん mailto:sage [2025/08/16(土) 18:47:57.82 ID:lMRwIhojM.net]
Webアプリならインフラレベルの異常なんてDBのドライバやフレームワークに任せるのが基本だろ?
ビジネスロジック上の異常ケースの話ならクラウド関係ないし、なんでそうなるのかわからん
まさかDB触る度にネットワークの一時途絶とか個別に考慮して処理してるのか?

412 名前:デフォルトの名無しさん [2025/08/16(土) 18:51:45.11 ID:odfu+VCZ0.net]
仕事は24時間稼働してるシステムのお守りで、
プログラミングは趣味なので仕事の暇な時間にツール作ったりゲーム作ったりしてます

413 名前:デフォルトの名無しさん [2025/08/16(土) 20:12:59.72 ID:IfLv3W730.net]
自己紹介は特に必要ないんで

414 名前:デフォルトの名無しさん mailto:sage [2025/08/16(土) 21:32:57.41 ID:UyfGacJ5M.net]
>>405
変わるけど、それはめちゃくちゃ高速化に詳しい人がすべてやった後に最後の最後の問題。
ほとんどの人はキャッシュよりアルゴリズムに改善の余地が沢山残されている。

415 名前:デフォルトの名無しさん mailto:sage [2025/08/16(土) 23:12:24.14 ID:8bJ0YWvyM.net]
一番手軽なのは逆にキャッシュのアルゴリズムでかなり効果がある場合があるので下っ端でも意識すべし

二次元でy軸捜査してたのをx軸捜査にするとか

416 名前:デフォルトの名無しさん mailto:sage [2025/08/16(土) 23:21:01.46 ID:8bJ0YWvyM.net]
今のプログラマでキャッシュを意識しないのはスクリプトのプログラマぐらいで
他は全員意識すべき事項

417 名前:デフォルトの名無しさん mailto:sage [2025/08/17(日) 12:24:12.02 ID:/HUCNlQRM.net]
キャッシュも意識した方がより良いが、アルゴリズムやデータ構造はもっと速度に影響を与える。

418 名前:デフォルトの名無しさん mailto:sage [2025/08/17(日) 14:53:11.93 ID:kLlULFyyp.net]
アルゴリズムが必要な場所はたいていクラスライブラリになってるから無駄無駄

419 名前:デフォルトの名無しさん mailto:sage [2025/08/17(日) 16:21:11.39 ID:achxPzU5M.net]
>>418
クラスライブラリの中のどのクラスを使うかによって速度差が生まれる。

420 名前:デフォルトの名無しさん mailto:sage [2025/08/17(日) 17:56:47.27 ID:TBSqwQ7N0.net]
アルゴリズムとデータ構造 バカの好きな言葉です



421 名前:デフォルトの名無しさん [2025/08/17(日) 18:07:53.08 ID:IwOhm0G90.net]
今どきのハードで速度とか考えんとあかんくらいのデータ処理してるとか凄いですね

422 名前:デフォルトの名無しさん [2025/08/17(日) 19:13:33.83 ID:rjpIABWW0.net]
>>421
お前みたいな馬鹿には縁がない分野なだけだろ

423 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 02:31:10.61 ID:sjantNqdM.net]
>>420
あなたは経験不足だね。

424 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 03:36:04.74 ID:mZOPLAYY0.net]
マイクロ秒・ナノ秒単位で応答時間を気にしないといけない環境だと、
アルゴリズム・データ構造・通信データ量・エンコード/デコード・ヒープアロケーション・ディスクI/Oあたりのパフォーマンスは脳が自動的に考えちゃうな。
でもだいたいDBアクセスと通信の遅延がボトルネックになりがち。

425 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 07:15:19.87 ID:7qhgEGOW0.net]
ナノ秒単位の応答速度で考えなきゃならないなんて、ハードのアクセスタイミングくらいしか無いぞ
そんな場所はたいていドライバの仕事や

426 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 07:17:47.39 ID:7qhgEGOW0.net]
アプリ層じゃせいぜいマイクロ秒単位の速度しか管理出来ないだろ

427 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 07:18:36.50 ID:7qhgEGOW0.net]
いや、ミリセコンド単位までだなww

428 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 09:00:28.22 ID:Bln8UOWH0.net]
ここ何の(言語の)スレだよw

429 名前:デフォルトの名無しさん [2025/08/18(月) 10:14:24.01 ID:5WWuxa990.net]
x ミリセコンド
o ミリセカンド

日本語は正確にね

430 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 11:00:04.93 ID:MNta4aU80.net]
日本語って言うなら、セカンドでもセコンドでも正しいが?



431 名前:デフォルトの名無しさん [2025/08/18(月) 12:32:55.91 ID:Fq++RP040.net]
>>430
secondのoは弱母音であり
弱母音を日本語の母音体系で「ア」以外と認識するのは学習的にも教育論的にも誤っており害しかない。

432 名前:デフォルトの名無しさん [2025/08/18(月) 12:40:58.95 ID:jwhpRJEDM.net]
英語スペルもカタカナもやめてしまえばよい
発音記号で文書書けよw

433 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 12:47:27.41 ID:MNta4aU80.net]
特にそんな害は無いな
害があると言うなら外語の音をそのまま転写することもできないのにカタカナでやる事こそ害だわ

434 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 15:47:57.49 ID:Tt2hOhdI0.net]
ミッシャン インパッサバル

435 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 15:54:40.07 ID:aVl32Ge50.net]
正論突かれたからって無駄な話を延々とすんなよ
C#でマイクロ秒やナノ秒なんて精度のタイミングなんて作れないよ

436 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 16:56:12.88 ID:FR+8nib40.net]
それも同程度に無駄な話やろ

437 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 20:51:05.44 ID:Op4U4I4B0.net]
またしょうもないことで言い合ってんなw

438 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 21:34:25.37 ID:Cj+sk6kS0.net]
「マイクロ秒単位で応答時間を気にする」と「マイクロ秒精度のタイミングを作る」は全然違う話じゃねーのって気がする

前者はミリ秒より下のマイクロ秒のオーダー(〜数百µs)を気にかけなきゃいけない処理のイメージ
後者は正確に1µsごとにティックを刻まなきゃいけないような処理のイメージ

本人の意図とあってるかどうかは知らんけど

439 名前:デフォルトの名無しさん [2025/08/18(月) 22:16:25.16 ID:rAqyXQys0.net]
まぁちゃんとハードが動いたらの話だけどな

440 名前:デフォルトの名無しさん mailto:sage [2025/08/18(月) 22:19:21.54 ID:7qhgEGOW0.net]
>>438
同じだろww



441 名前:デフォルトの名無しさん [2025/08/19(火) 06:42:55.76 ID:t5qgmbmq0.net]
GPS受信機側がどうやって精密に位置情報ゲットしてアプリ作れてるか考えりゃ
言語に関係ないってわかるだろうに・・・

442 名前:デフォルトの名無しさん mailto:sage [2025/08/19(火) 07:26:37.18 ID:A1z7TTh+0.net]
>>441
GPSのファームウェアだってなんらかのプログラミング言語で書かれてるんだが
まあ、C#じゃ無いんだろうな

443 名前:デフォルトの名無しさん [2025/08/19(火) 09:05:46.62 ID:t5qgmbmq0.net]
>>442
意味わかってないバカ

444 名前:デフォルトの名無しさん mailto:sage [2025/08/19(火) 09:28:34.60 ID:z7ALy+q40.net]
>>443
意味分かって無いなはおまえだろw

445 名前:デフォルトの名無しさん mailto:sage [2025/08/19(火) 09:29:48.69 ID:ZC2BXjeup.net]
ファームウェアがプログラムじゃ無いって思ってんのかなぁ?
自分の範囲でしか考えられない間抜けなのかなぁ?

446 名前:デフォルトの名無しさん [2025/08/19(火) 09:36:41.45 ID:vXlmug180.net]
おまいらクォーや水晶発振器とかからやり直せ

447 名前:デフォルトの名無しさん mailto:sage [2025/08/19(火) 11:14:21.63 ID:4VV1gY5HM.net]
.NETファームウェアなんて想像もできないな

448 名前:デフォルトの名無しさん mailto:sage [2025/08/19(火) 11:19:36.85 ID:e8aZdzq4p.net]
.NET自体も誰かが書いたプログラム

449 名前:デフォルトの名無しさん mailto:sage [2025/08/19(火) 17:52:01.47 ID:bI34b1BD0.net]
>>441
これはローカルの精度の低い情報を外部の精度の高い情報を使って補正する的な話かな?
「マイクロ秒単位で応答時間を気にする」や「マイクロ秒精度のタイミングを作る」とも違うまた別の話よね

450 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 10:28:35.60 ID:8EuYCqo30.net]
>>447
.NET Core<・・・



451 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 11:02:57.85 ID:vtpxyccf0.net]
所詮C#はライブラリが無いと何も出来ないフロントエンド専用言語さ

452 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 11:59:17.54 ID:Xf/p3Qkz0.net]
そういえば私はc#の専門家だからjsは書けませんってほざいた自称MS MVPのおっさんがいたな
何こいつヤバ、って思ったけど皆さんもそんな感じですか?

453 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 12:33:34.45 ID:vtpxyccf0.net]
スクリプト言語は特殊過ぎて苦手かなぁ
なんせ動作仕様がよく分からないからタイミングとか順番とか掴み難い

454 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 12:46:48.32 ID:p2e+gvhe0.net]
HTMLから手打ちでWEBサイト作ってたから書けないことはないけど

455 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 14:27:51.99 ID:EWaC7b2b0.net]
仕事でやってるならJavaScriptとPythonくらいは標準言語/共通言語として基礎的なことはできたほうがいいんじゃないかな

456 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 14:44:12.03 ID:EWaC7b2b0.net]
>>453
基本的に逐次実行でしょ
イベントのコールバックや非同期のこと言ってるならC#も大差ないと思うんだが

457 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 14:55:47.21 ID:vtpxyccf0.net]
>>456
まあ、reactとかその辺りの話だけどさ

458 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 15:02:57.38 ID:vtpxyccf0.net]
javascriptとかtypescriptとかで記述するフレームワークの内部処理が問題なんだけどさ

459 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 15:50:32.09 ID:KP4X26II0.net]
昔のJavascriptのイメージの悪さでtypescript食わず嫌いの人は多そう
c#使いからするとかなり親和性高いと思うんだけどね
今時のフレームワークの癖が馴染まないという話になってくるとどうしようもないけど

460 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 16:00:05.22 ID:N0cdTvVZM.net]
癖というより新しいものについて行く気力がない



461 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 17:50:45.65 ID:vtpxyccf0.net]
フレームワークの癖なんかイチイチ覚えたく無い
それでなくても次から次へと新しいフレームワークが出て来るんだから嫌になる

462 名前:デフォルトの名無しさん [2025/08/20(水) 18:02:06.52 ID:SEyAc97G0.net]
PC88時代のゲームプログラマーは70歳になっても現役なのに

463 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 23:20:34.61 ID:ZnNCYqxP0.net]
頑張って覚えても出来上がるのはただのhtmlというのが萌えない

464 名前:デフォルトの名無しさん mailto:sage [2025/08/20(水) 23:45:19.52 ID:w9zUB2EA0.net]
逆に React を先に学んだ人が今から WPF を触るのもツラいと思う
どの言語でやるにせよフレームワークを学ぶのは面倒

465 名前:デフォルトの名無しさん mailto:sage [2025/08/21(木) 16:01:11.35 ID:HDO+1YkP0.net]
>>464
そういうひとはBlazorやればいいんやで

466 名前:デフォルトの名無しさん mailto:sage [2025/08/21(木) 17:50:05.44 ID:PBT+gMhO0.net]
最近Blazor触ってるわ
新しいの触るのはちょっと楽しいw

467 名前:デフォルトの名無しさん mailto:sage [2025/08/22(金) 09:17:02.16 ID:bM+qPYct0.net]
普通に使う分にはいいんだけど
一度表示したら二回目から表示しない
とか言う簡単な条件処理すらバグるからなぁ

468 名前:デフォルトの名無しさん mailto:sage [2025/08/23(土) 11:01:47.13 ID:s6sKa0lx0.net]
ここはC#スレだよな?

469 名前:デフォルトの名無しさん mailto:sage [2025/08/23(土) 14:36:26.70 ID:IetSnnOJ0.net]
まぁBlazorはC#使うから

470 名前:デフォルトの名無しさん mailto:sage [2025/08/25(月) 12:51:25.13 ID:aVVo9uZL0.net]
Blazorは特殊すぎてこれをメインのスキルにしようとは思えないな
多少他のフロントエンドの心得があるならともかく



471 名前:デフォルトの名無しさん mailto:sage [2025/08/27(水) 23:28:14.56 ID:LeuH8ST60.net]
お前らが大好きなAI様にBlazorについて代理質問してやったよ。
https://tadaup.jp/8QEQwUfm.jpg

472 名前:デフォルトの名無しさん [2025/08/27(水) 23:57:36.06 ID:3AqazbeT0.net]
猫言葉いいね

473 名前:デフォルトの名無しさん mailto:sage [2025/08/28(木) 00:29:14.14 ID:PCTxJE4F0.net]
ふざけてんのかオラ

474 名前:デフォルトの名無しさん mailto:sage [2025/08/28(木) 02:06:50.17 ID:ytThuJ3U0.net]
みんな自宅PC用の自分専用ツールで「エラーにゃ!」とか吐き出してた時期あるだろ?

475 名前:デフォルトの名無しさん mailto:sage [2025/08/28(木) 02:08:42.46 ID:p7htnHWA0.net]
ケンシロウにしてた時代はある。
壁紙は今もケンシロウ。

476 名前:デフォルトの名無しさん mailto:sage [2025/08/28(木) 02:15:03.06 ID:p7htnHWA0.net]
「オワッタァ」も「お前はもう死んでいる」も何回言われたか分からん。

477 名前:デフォルトの名無しさん mailto:sage [2025/09/14(日) 18:49:21.84 ID:QXzSkKnQ0.net]
会社でWPFつかいはじめて、さらに新しいのを趣味では使いたいのですが、何が最新ですか?

478 名前:デフォルトの名無しさん mailto:sage [2025/09/15(月) 11:23:23.24 ID:rTsnj6yr0.net]
WinUI3

479 名前:デフォルトの名無しさん mailto:sage [2025/09/17(水) 13:47:54.09 ID:LaTbEryw0.net]
.NET 9

使った事無いけど

480 名前:デフォルトの名無しさん mailto:sage [2025/09/18(木) 07:13:07.44 ID:DHlOiiYd0.net]
Win32API



481 名前:デフォルトの名無しさん mailto:sage [2025/09/18(木) 19:10:32.46 ID:/4eAU3KR0.net]
.NET入れろってのはもう仕方ないが
じゃあどの.NET入れるのってなる
・何も入れない(.NET Framework 4.8.1で十分) →◎正解
・最新の.NET入れる (昔のVBランタイムみたいに) →×ダメ

482 名前:デフォルトの名無しさん mailto:sage [2025/09/18(木) 19:55:52.90 ID:TzZgwG1EM.net]
.NET9にしてNativeAOT使えば

483 名前:デフォルトの名無しさん mailto:sage [2025/09/18(木) 22:10:09.63 ID:HK+FaVoN0.net]
NativeAOT使わなくても単一EXE化できるから好きな方選べば良いよ

484 名前:デフォルトの名無しさん mailto:sage [2025/09/18(木) 23:35:17.01 ID:ixjFpwEtM.net]
単一にしたらセキュリティーホールそのまんま何でしょ?

485 名前:デフォルトの名無しさん mailto:sage [2025/09/19(金) 07:02:10.84 ID:70Vqx1CR0.net]
MS自身も徐々に.NET熱冷めてる感あるよな
AIサポートが入れば入るほどVC++で良いもんな

486 名前:デフォルトの名無しさん mailto:sage [2025/09/19(金) 08:38:13.75 ID:rgkgRVit0.net]
冷めてるっていうか、オープンソースだし

487 名前:デフォルトの名無しさん mailto:sage [2025/09/19(金) 09:47:20.78 ID:vAKHSegN0.net]
MS自身はGUIアプリならWebView2やElectron、あるいはC++使ってるからな
WebサービスはさすがにまだC#がメインみたいだけど

488 名前:デフォルトの名無しさん [2025/09/19(金) 22:27:52.14 ID:a6Y9x47h0.net]
ASP.NETで作ったWebアプリケーションをIISでLocalSystem権限で動かしてるのですが、
Webアプリケーションの中でWindowsの時刻変更処理を入れてるのですが失敗してしまいます

AdjustTokenPrivileges関数でWindowsの時刻変更権限を有効にする処理を入れても、エラーコード1300で有効化に失敗します。

何か手は無いでしょうか...

489 名前:デフォルトの名無しさん mailto:sage [2025/09/20(土) 08:05:53.98 ID:ZG3ddPhb0.net]
ASP.NETじゃなくてWindowsサービスで時刻変更するプログラムを作ったら?

490 名前:デフォルトの名無しさん [2025/09/20(土) 08:22:42.73 ID:+04mVDjA0.net]
そのままChatGDPに投げたら?



491 名前:デフォルトの名無しさん mailto:sage [2025/09/20(土) 09:34:35.39 ID:fatA2rOh0.net]
ntdllのNtSetSystemTimeで普通にできてる

492 名前:デフォルトの名無しさん mailto:sage [2025/09/20(土) 10:26:58.28 ID:UdgmRdmW0.net]
Chat国内総生産

493 名前:デフォルトの名無しさん mailto:sage [2025/09/20(土) 10:29:41.16 ID:UdgmRdmW0.net]
そういうOSに作用する処理はIIS上からやれないようになっとるのでは?

494 名前:デフォルトの名無しさん mailto:sage [2025/09/20(土) 10:51:32.41 ID:n5Shpw6K0.net]
>>488
IISをLocalSystemで動かしててもWebアプリをLocalSystemでは普通動かさないから勘違いしてるのでは?

そもそもなんでWebアプリからサーバーの時刻を変更したいの?
よほど特殊なケースでない限り他のもっといいアプローチがあると思うんだけど

495 名前:デフォルトの名無しさん mailto:sage [2025/09/20(土) 10:55:31.37 ID:yaSb6z8s0.net]
トークン使うところは合ってる
SE_DEBUG_NAME

496 名前:デフォルトの名無しさん mailto:sage [2025/09/20(土) 11:18:05.99 ID:6MulabzN0.net]
普通Webサーバーは冗長化するからサーバー同士で時刻がズレて無茶苦茶になりそうだな

497 名前:デフォルトの名無しさん mailto:sage [2025/09/20(土) 11:48:53.50 ID:fatA2rOh0.net]
>>493
ん?AdjustTokenPrivilegesってWin32のやつじゃないんか

498 名前:デフォルトの名無しさん mailto:sage [2025/09/20(土) 17:44:31.38 ID:UdgmRdmW0.net]
いやセキュリティ上やでないようになってるからエラーなんじゃないか?と思って

499 名前:デフォルトの名無しさん mailto:sage [2025/09/20(土) 17:44:58.17 ID:UdgmRdmW0.net]
IISは使ったことないからよく知らないのではあるけど

500 名前:デフォルトの名無しさん [2025/09/20(土) 18:29:29.72 ID:+04mVDjA0.net]
普通ってNPTサーバーから時刻もってこんの?



501 名前:デフォルトの名無しさん mailto:sage [2025/09/20(土) 18:38:35.28 ID:bgLvoxel0.net]
LocalSystemアカウントが時刻変更権限を持ってるのは間違いないんだから有効化に失敗するのは方法が間違ってるか対象のトークンが想定と違うかのどちらかでしょ

502 名前:デフォルトの名無しさん [2025/09/21(日) 04:07:31.01 ID:Obb0mglL0.net]
内部通報で無理なので犯罪者通報

暗黒状態の量子もつれを生成することに成功:世界初の快挙
公開日2025.09.10 18:30:27 WEDNESDAY
https://nazology.kusuguru.co.jp/archives/184832
>>量子もつれが非常に壊れやすく、外界のノイズ(熱の揺らぎや周囲からの電磁波など)によって簡単に消えてしまうことです。
>>このノイズによる量子もつれの崩壊現象は「デコヒーレンス」と呼ばれ、量子技術が実験室の外で広く実用化されるのを妨げる最大の壁となってきました。

・どうやって地上で行えるのですか?
・ 嵐の中や甘風が強い中での車での走行中などどうやって維持しているのかな
・UFOは重力県内でテレポートしている偽物だろう?

・統合失調症から見て犯人不明で周囲の人は知っているかもしれませんが宇宙人だと名乗っているのとテレポート技術を所持している
・7人殺害した
・お前で埴鎮目だ
・殺害した人野事を晩酌で高笑いをしている
・お前「被害者=統合失調症=24実感365日幻聴などの幻覚あり」を人質に立てこもる
・絶対に殺させる「自殺か殺人かは不明ですがさせる」
・コロな症状を引き起こせる
※など上記の事を話してきた

ここにも愉快犯の犯人組織が居るだろう!

503 名前:デフォルトの名無しさん mailto:sage [2025/09/21(日) 06:39:33.35 ID:O228kj4m0.net]
なんか基地外湧いてきた

504 名前:デフォルトの名無しさん [2025/09/21(日) 07:03:46.05 ID:rFy9LaCl0.net]
>>488です。みなさんありがとうございます。
以下のサイトを参考に特権有効にする処理書いたのですが、なにか間違ってますかね?...

https://qiita.com/mitsu_at3/items/8e5fa9cdbd61a315cb32

いろいろ試して、LocalSystemではなくLocalServiceだと時刻変更できるようで、LocalServiceにimpersonateすることで時刻変更できました。
ただLocalSystemのままでも時刻変えられる気がするんですがね...

505 名前:デフォルトの名無しさん mailto:sage [2025/09/21(日) 12:32:47.26 ID:7FG1w1fE0.net]
とりあえずWindowsIdentity.GetCurrent().Nameとかでアプリが本当にLocalSystemで動いてるか確認してLocalSystemで動いてるならワーカープロセスが持ってる権限をProcess Explorerとかで確認してみるかな

LocalServiceにimpersonateできるだけの権限で動いているとか
LocalServiceがシステム時刻を変更できる権限を持ってるとか
一般的な環境と違うよね

506 名前:デフォルトの名無しさん mailto:sage [2025/09/21(日) 17:00:51.98 ID:QcwFZ8fU0.net]
タスクスケジューラーで起動されるときのデフォルトってLocal System?
とりあえず自分はタスクスケジューラーから呼び出される自前のプロセスでNtSetSystemTime出来てるが

507 名前:デフォルトの名無しさん mailto:sage [2025/09/21(日) 18:25:56.04 ID:O228kj4m0.net]
タスクスケジューラーは実行ユーザーの設定あるでしょ

508 名前:デフォルトの名無しさん [2025/09/21(日) 23:02:29.89 ID:WTFOPyOl0.net]
それをスーパーユーザでしたいって事じゃ?

509 名前:デフォルトの名無しさん mailto:sage [2025/09/22(月) 06:56:23.73 ID:iP9wowO80.net]
1行目見るにそもそも実行ユーザーが分かってない
 ↓
実行ユーザーの指定できるんだから自分で指定しろ

こういう流れでしょ

510 名前:デフォルトの名無しさん mailto:sage [2025/09/22(月) 07:49:49.53 ID:ir1F+Evh0.net]
なんあらAdministratorsとかのグループ指定でもできるけど



511 名前:デフォルトの名無しさん mailto:sage [2025/09/22(月) 23:16:37.10 ID:zAtIUkYI0.net]
ワーカープロセスが違うアカウントで動いてるに1票

512 名前:デフォルトの名無しさん mailto:sage [2025/09/24(水) 21:51:48.42 ID:4iPutXmOa.net]
class C {
A a = new A(); // 1
C() {
A a = new A(); // 2
}
}

1と2でAのインスタンスを生成することに違いはありますか?
コンストラクタ内で生成する2でよいような気もしますが

513 名前:デフォルトの名無しさん mailto:sage [2025/09/24(水) 23:10:47.04 ID:dvgofv4/0.net]
2つ目は
class C {
A a;
C() {
a = new A();
}
}
だよね?

514 名前:デフォルトの名無しさん mailto:sage [2025/09/24(水) 23:23:06.73 ID:ot6MCezpa.net]
なるほど、
たしかにコンストラクタ内のローカル変数ではダメですね(aは)
お恥ずかしい…

515 名前:デフォルトの名無しさん mailto:sage [2025/09/24(水) 23:27:12.81 ID:ot6MCezpa.net]
では、>>512 の1と、>>513 の違いはなんなのでしょうか

516 名前:デフォルトの名無しさん mailto:sage [2025/09/24(水) 23:53:32.45 ID:dvgofv4/0.net]
コンストラクタが呼ばれる前に初期化できるものと
コンストラクタの中じゃないと初期化できないものがある

上の例は前者
前者に関してはどっちでもいいっちゃいいけど
フィールド宣言と一緒に初期化コードも書いたほうがわかりやすい

517 名前:デフォルトの名無しさん mailto:sage [2025/09/25(木) 00:10:14.06 ID:By2ks0eda.net]
ありがとうございます
やはりそんな感じなんですね
>>512 の 1はコンストラクタより前に初期化されることはテストで確認しました
ご指摘のとおり、コンストラクタ内でしか初期化できないものもあるようですね
ことばが正しくないと思いますが、デリゲートにイベントハンドラを追加するようなコードがそれに当たりました(僕の拙いテストでは)

後半の「フィールドの宣言と初期化が一緒に〜」は納得です

518 名前:デフォルトの名無しさん mailto:sage [2025/09/25(木) 00:13:08.63 ID:By2ks0eda.net]
x デリゲートに
o オブザーバに
これでも誤っていそうですがw

519 名前:デフォルトの名無しさん [2025/10/19(日) 11:52:32.67 ID:DqrF4hvA0.net]
もうその辺の質問は丸っとAIに投げた方が周辺知識も含めて適切に解説してくれるようになっちゃったな

520 名前:デフォルトの名無しさん [2025/10/19(日) 12:08:55.47 ID:9mZT9cHT0.net]
x丸っと
o丸ごと

気持ち悪い言葉使うな



521 名前:デフォルトの名無しさん [2025/10/19(日) 12:34:02.25 ID:DqrF4hvA0.net]
いやそこにいちいち突っ込ま無いでいられない方がキモイだろw
生きづらそうな奴だなあ

522 名前:デフォルトの名無しさん mailto:sage [2025/10/19(日) 12:42:23.29 ID:iiEJIRH40.net]
5chに上品を求めてもな
場違いだろう

523 名前:デフォルトの名無しさん [2025/10/20(月) 08:10:39.12 ID:t3xMY5Mxr.net]
まるっとー!\⁠(⁠^⁠o⁠^⁠)⁠/

524 名前:デフォルトの名無しさん [2025/10/20(月) 08:38:31.92 ID:gxggfKmO0.net]
>>523
このバカもんが!

525 名前:デフォルトの名無しさん mailto:sage [2025/10/20(月) 08:42:09.79 ID:XFStacaR0.net]
キンモー

526 名前:デフォルトの名無しさん mailto:sage [2025/10/22(水) 14:42:42.18 ID:45/Fx/7g0.net]
「.NET Framework 3.5」はOSから削除へ 〜Canary版「Windows 11」でFOD提供が終了
あぁ

527 名前:デフォルトの名無しさん mailto:sage [2025/10/22(水) 21:41:57.00 ID:s2BLWP9j0.net]
手動インストールは今まで通り可能だから余り気にしなくてよくね?

528 名前:デフォルトの名無しさん [2025/10/24(金) 12:26:48.49 ID:xZTAnEiJr.net]
お金になるんだから新しいの進めないとね

529 名前:デフォルトの名無しさん mailto:sage [2025/11/01(土) 19:13:50.74 ID:SOMTSnDa0.net]
会社のプログラムコードでオブジェクトを使い終わったらnullを代入する行が一か所もないのは何でや?
ローカル変数を全部varで宣言もするし、何で手抜きするんや?
全部.net frameworkにメモリ解放任せ、コンパイラに型任せするのは頭が悪いんか。

530 名前:デフォルトの名無しさん mailto:sage [2025/11/01(土) 20:17:36.23 ID:HZKTr0RoM.net]
>>529
C/C++にもC#のvarに相当するもの(auto)が追加されてるよ



531 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 07:55:07.64 ID:703mRUOQ0.net]
>>529
ギャグのつもりなんだろうけど
あまりAIに馬鹿なことを吹き込むな
迷惑だ

532 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 10:48:16.70 ID:2DIXkYCL0.net]
>>529
コピペ?

533 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 12:09:39.84 ID:bNhQtC9j0.net]
とりあえず>>529の頭が悪いのはわかった

534 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 12:10:17.92 ID:B2JUXIT00.net]
何でAIとかコピペやと思い込むんや。
何であえてvarで宣言するんかいな。
varだとコードが読みにくくなる、null代入してこれ以降はこのオブジェクトはもう使わないことが明白でコード読みしやすいという考えにならんのかいな。
あと、ファイル先頭のusingをあえて使わず、名前空間を省略せずに書くことで、名前の階層やスペルを正確に覚えて省略しなくてもコード記述可能に上達させようとか、コード見て、これはどの空間の型なのか明白にしておこうという考えもならんかいな。
IDEで入力して、オブジェクトの自動メンバ表示の機能に頼らずに、普通のテキストエディタですべて自力でコードを記述しようという考えにもならんかいな。
便利さに安易に甘えようとして、コードの読みにくさや利便性がなければ対応力不足な能力に甘んじると違うんかいな。
この程度のタイピングが面倒と思うようでは、タイピング能力も不足の疑い。
わずかな手間を省くことより今言ったことの損失のほうが上回ると思うけどな。

535 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 12:22:24.23 ID:B2JUXIT00.net]
何がどう頭が悪いのかも説明してくれ

536 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 12:58:31.31 ID:E0HJp5tr0.net]
30年ぐらい頭の中が進化してないように見えるぞ

537 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 13:04:39.39 ID:703mRUOQ0.net]
>>535
お前のギャグはつまらないって
分からないところが一番頭悪いわ

538 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 13:25:09.15 ID:B2JUXIT00.net]
>>536 >>537 説明できずに人をけなすだけって、頭が悪いな。

539 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 14:09:59.48 ID:hocl4sTR0.net]
あの、転職してきて今の職場みんなvscodeで書いていてvisual studioの自分が少数派なんだけど、vs codeの方がC#書くうえでメリットとかあったりしますか
やっぱりvscode前提で話が動くことあって合わせるのに苦労することがたまにある。最近それに合わせようとvs codeの使い方を勉強してるけどとにかく色々めんどくさいというか……
そもそも画面が見にくくてしょうがない

540 名前:デフォルトの名無しさん [2025/11/02(日) 14:18:31.07 ID:HCi6xwDM0.net]
>>539
VS Codeを使いなさい。
Visual Studioは重くて使いにくいし色々面倒くさい。



541 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 14:20:42.73 ID:BJEeTNbw0.net]
github copilotはvscodeのほうが進んでる
自分はvscodeでAIに書かせてvsでデバッグしてる

542 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 14:47:38.54 ID:J3Cym/fe0.net]
>>539
好きなの使えばいいよ
エディタやIDEは人に強制するものでも
無理やり他人に合わせるようなものじゃないんだから
vscode前提の話に無理してまで付き合う必要ないでしょ

543 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 14:54:04.33 ID:E0HJp5tr0.net]
会社がケチでVS購入する予算出してくれないのでは疑惑

544 名前:デフォルトの名無しさん [2025/11/02(日) 16:21:59.09 ID:e02xUH3g0.net]
vscodeってインストールして即C#で書きましょってできないのでは?
Visual C# 2010 Expressの方がまだマシだと思う

545 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 16:32:25.28 ID:1fKkZElw0.net]
VSCodeはemacs並みに便利だぞww

546 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 16:35:26.43 ID:1fKkZElw0.net]
武笠からVisualStudio使ってGUI慣れしてるとVSCodeのコンソール操作やコマンドパレット操作が面倒で仕方ない

547 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 16:57:05.29 ID:MCw/zdpy0.net]
WebだとVSCodeのほうが圧倒的に便利だね
どうせ他の言語も使うから

548 名前:デフォルトの名無しさん mailto:sage [2025/11/02(日) 19:32:38.83 ID:kqx/RH8b0.net]
>>545
vim派なせいかVSCodeの良さが分からない
汎用性が高いのはまぁ分かるけど

549 名前:デフォルトの名無しさん mailto:sage [2025/11/04(火) 09:22:41.26 ID:rY+MKscwp.net]
>>548
あれは不便だと皮肉で言ってるんじゃねえの?

550 名前:デフォルトの名無しさん [2025/11/05(水) 01:13:05.65 ID:lfdATCwE0.net]
>>547
ガッツリC♯メインです、ってならVSでいいんだけどね
お仕事も多角化してるから少なくともCodeは必須だし



551 名前:デフォルトの名無しさん mailto:sage [2025/11/05(水) 06:35:23.86 ID:5NBPAv2I0.net]
別に必須ではない

552 名前:デフォルトの名無しさん [2025/11/10(月) 12:00:27.64 ID:23EqRWch0.net]
git管理下のプロジェクトでVSからファイル名の変更をリファクタリング使ってやるとハマることあるよ
同期する時はよくよく気をつけて、他のメンバーから袋叩きにされんように

553 名前:デフォルトの名無しさん mailto:sage [2025/11/10(月) 12:21:40.74 ID:UhuUvnV0M.net]
メクラコミットするような奴は何使おうが事故るよ

554 名前:デフォルトの名無しさん mailto:sage [2025/11/28(金) 07:28:31.03 ID:CqZDoZJA0.net]
ほんまやで

555 名前:デフォルトの名無しさん [2025/12/19(金) 12:15:49.17 ID:gWQHKfoD0.net]
https://w.atwiki.jp/postmodernwiki/

556 名前:デフォルトの名無しさん mailto:sage [2025/12/21(日) 20:53:27.69 ID:CWI2bRJe0.net]
C#はCの系列言語に偽装したVBだな。
最も基本的な構文がC言語と共通なだけで、Cの関数が使えるわけでもなく互換性がない。
名前にだまされて系列言語と勘違いする営業が多いんかいな。
Javaと同じくらいの別言語やのに。
中身の実態はVB.NETと何が違うんや。
まだC#を知らずに始めようとするC++のプログラマにも、あれはVBだと教えたほうがいいな。

557 名前:デフォルトの名無しさん mailto:sage [2025/12/21(日) 21:45:01.33 ID:dTS5CRaY0.net]
それは完全に逆で、.NETはC#を第一言語として作られたプラットフォームであり、
VB.NETはVB風の構文を使用して.NETプラットフォーム上で動くアプリケーションを開発できるC#の代替言語の一つ。
だったんだけど、今は少し状況が違っていて、VB.NETは既に開発が終了しており最新の.NETは事実上C#専用になっている。

558 名前:デフォルトの名無しさん [2025/12/22(月) 00:16:55.22 ID:nbS93j9b0.net]
Cに構文が似てるMS版Java

559 名前:デフォルトの名無しさん [2025/12/22(月) 00:35:44.56 ID:Gt1/VTKV0.net]
C♯があるからVSが生き残ってる気がしなくもない

560 名前:デフォルトの名無しさん mailto:sage [2025/12/22(月) 00:45:35.83 ID:Rjn0kM720.net]
JavaよりもDelphi



561 名前:デフォルトの名無しさん [2025/12/22(月) 07:24:28.55 ID:F5F/0SAV0.net]
Delphiってまだあるんか

562 名前:デフォルトの名無しさん [2025/12/22(月) 10:34:57.18 ID:14GAd2HmM.net]
BASICが一番読みやすいんだけどな
それかシーケンスラダー






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<130KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef