ふらっと C#,C♯,C#(初心者用) Part158

■ このスレッドは過去ログ倉庫に格納されています
2023/03/26(日) 07:31:00.51ID:2LMOL5Ty0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part157
https://mevius.5ch.net/test/read.cgi/tech/1669349768/
■関連スレ
C#, C♯, C#相談室 Part97
https://mevius.5ch.net/test/read.cgi/tech/1671585518/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
初心者はまずVisual Studioを使いましょう。なおVisual Studioの使い方などに関しては各バージョンで違うので専用スレでお願いします
http://www.visualstudio.com/downloads/
■情報源
https://learn.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://learn.microsoft.com/en-us/dotnet/standard/class-libraries
https://referencesource.microsoft.com/
https://source.dot.net/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
++C++; // 未確認飛行 C
https://ufcpp.net/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2023/04/07(金) 19:43:55.45ID:lYV4UoJIa
>>168
マックのシェアが上がったのはそういうわけ
2023/04/07(金) 19:47:35.73ID:377j0hRUM
以前17歳の少年にmacはwindowsも動くから開発するならmac一択でwindows機は買わなくていいって言われたよ
そういう理由でユーザーを増やしてる面もある
情報系の大学ではmac持ってる生徒が多い
2023/04/07(金) 19:53:07.95ID:0nhk3VLO0
>>170
https://twitter.com/desk_novel_3260/status/1499848946780614656/photo/1
https://twitter.com/5chan_nel (5ch newer account)
2023/04/07(金) 19:54:54.12ID:377j0hRUM
自分はmac上のwindowsでしか起こらないバグもあるかもしれないから意味ないと思うと答えたが
そんなの言いだしたらきりがないなと後で思った
2023/04/08(土) 00:55:25.26ID:3Ljte8fK0
Windowsのライセンスを用意してMacで動かすくらいなら、
安いWindows PCも買ったほうが同時に使えるし便利だと思う。
2023/04/08(土) 02:10:45.67ID:HLFl9C7qM
どうせライセンス違反の不正使用だろ
2023/04/08(土) 02:25:03.68ID:3Ljte8fK0
>>134
プログラミング言語は複数覚えていったほうがいいから、まあ頑張れ。
176デフォルトの名無しさん (ワッチョイ eebb-9Wvd)
垢版 |
2023/04/08(土) 18:34:36.54ID:fmzyFWYH0
文法が似ているだけで、C++とC#とでは必要な知識の幅が全然違うような気がしてしまう
2023/04/08(土) 19:26:35.54ID:3Ljte8fK0
C++と言っておきながら、実はC++/CLIだったりするとさらに大変。
2023/04/08(土) 21:45:50.77ID:CCnvrQGQ0
>>134
STLも使えるしC言語よりはマシ
179デフォルトの名無しさん (ササクッテロロ Spd1-pbGt)
垢版 |
2023/04/09(日) 14:11:13.69ID:E8Nnpiwgp
C#がイニシアチブ取れる最大の理由はライブラリやクラスメソッドの豊富な点
CやC++は環境依存が高過ぎて無理だった
2023/04/09(日) 15:24:20.69ID:I9Qf3W7D0
C#は実行環境が基本Windowsで処理系も1個しかなく
外部が作った最大公約数的な規格やらに振り回される事もないからね
言語の在り方としてはDelphiからC#まで設計の中心に居たアンダースヘルスバーグの影響が一番でかいだろうけども
2023/04/09(日) 15:42:52.26ID:0jWwjzccM
へじたんというかボーランドから引っ張って来たグループ全体の影響だね

へじたんは10年ぐらい前にtsに行っちゃって多分だけどずっといない
tsの改善提案もたまにする
twitterでts10周年について言及してたけどC#は言及されない
2023/04/09(日) 16:10:51.58ID:fcL4nlHr0
C++は美しくないので使うのやめた方がいい
2023/04/09(日) 16:22:39.13ID:0jWwjzccM
c++はパフォーマンス目的じゃないと使うべきじゃないかな(個人の感想です)
でも本当にパフォーマンス目的なら積極的に使うべきで地球の温暖化予防になる

.net frameworkの古い部分はc++的に書かれてるところが点在してる
変数名とか…

ヘルパークラスの中身に多い気がする
そもそもがC#はデビューしてなかったんだからMSの中にいたのは大部分がCかC++プログラマだったから仕方がない
184デフォルトの名無しさん (ワンミングク MM52-k0ie)
垢版 |
2023/04/09(日) 17:02:57.88ID:IIry9qCTM
>>183
>そもそもがC#はデビューしてなかったんだから

なぜこういう嘘を書くのか
2023/04/09(日) 17:10:39.08ID:0jWwjzccM
>>184
え?どこが嘘だと思った?
はっきり指摘してくれよ

C#発売前にどうやってネイティブのC#プログラマ募集すんの?
2002年にC#が発売されたんだけどその時,net framewarkはついていた
186デフォルトの名無しさん (スプッッ Sd22-RMXA)
垢版 |
2023/04/09(日) 18:39:12.85ID:99/FlESqd
>>185
MS内部の開発は何を使ってると思っているんだ?
それとも発売されないと内部で使ってはいかんのか?
2023/04/09(日) 18:56:34.94ID:0jWwjzccM
>>186
話がかみ合ってないと言うかなんでIDコロコロしてんの?
それとどこが嘘なのかはっきり書けよ

,net frameworkを開発したときにC#で書いたプログラマはもともとなにプログラマでしたか?
ネイティブC#プログラマじゃないでしょ?

おそらくCかC++(それかボーランドから流れて来たobject Pascalプログラマ)じゃないの?
だから.net frameworkのソースにC++のような名残が多いんだろ?

C#ブートストラップも最初からC#で書いてたと思ってそうで怖い
2023/04/09(日) 19:02:10.71ID:0jWwjzccM
MS内部の開発者の多くはCかC++プログラマ
それまで存在しなかったC#で書かれた.net frameworkのソースを書いたのはC#を覚えたその人たち

どうしてこんな簡単なこともわからないんだよ
189デフォルトの名無しさん (スプッッ Sd82-RMXA)
垢版 |
2023/04/09(日) 20:48:24.64ID:cX6/BjZ9d
>>187
馬鹿って例えばDelphiのライブラリは何で作ってあると思っているんだ?
2023/04/09(日) 20:59:09.16ID:y3zvbzeA0
C++からC#を覚えたんだけど、ヘッダー不要、メモリー解放不要ってだけでほれぼれしたわ
2023/04/09(日) 22:59:42.51ID:0jWwjzccM
>>189
いい加減に理解しようよ

新しい言語が出来てその言語でライブラリを書く人は他の言語の経験がある人だろ
プログラムもOOPも始めての人間には不可能てわかるだろ
もちろんその言語は初心者で他のプロジェクトなんて経験してない

なんでこの人は小学生並みの思考力もないんだろうか?
2023/04/09(日) 23:13:41.21ID:jMM6L0eg0
今、画面をC#で作って、性能が必要な部分をCで書いてる。実質C++みたいな書き方してるけど。
固定長配列でよいところは固定長にして余計はメモリ確保・解放を排除、
スタックを使いすぎないようにTLSにしたり、
スレッドプールで実行スレッドがコロコロ変わるけど同一スレッドの間だけTLSを使ったり。
性能は良く、ワットパフォーマンスも良いと自画自賛しているけど、
書くのに時間がかかるし、メモリ管理で二重Freeや誤って0バイトメモリで変な落ち方して
調査に時間がかかった。
2023/04/09(日) 23:23:40.43ID:a3JbCGzy0
C言語はB言語で書かれたが直ぐにC言語で書き直されたという
故にC言語のライブラリはC言語で開発されている

と、例外中の例外を書いてみる
2023/04/09(日) 23:31:44.05ID:fcL4nlHr0
セルフホストは別に例外じゃないよ
コンパイル型の言語は最終的にセルフホストになるだろ
2023/04/10(月) 13:30:15.85ID:ezn0wDlC0
>>153
>MVVM ツールキットの概要
>このパッケージは .NET Standard を対象としているため、任意のアプリ プラットフォーム (UWP、WinForms、WPF、Xamarin、Uno など) で使用できます。

いつの間に対応してたんだ・・・
これでInvokeしなくて済むのか
196デフォルトの名無しさん (ワッチョイ 4666-cPl8)
垢版 |
2023/04/10(月) 13:39:28.19ID:gE7mrU5A0
下記のコードでcomboBox1.Textに"a2"を設定しているのですが
comboBox1は"a"のままです。設定を反映する方法はあるでしょうか。

public Form1()
{
InitializeComponent();

comboBox1.Items.Add("a");
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox1.Text = "a2";
}
2023/04/10(月) 14:10:01.67ID:GqegRxcS0
comboBox1.Items.Add("a2");
これを先に書かないから変更されない
2023/04/10(月) 18:04:17.45ID:qyQrCJTA0
>>196
まずcomboBox.TextとcomboBox.Itemは別のプロパティでTextを変えても表示されない。表示されるのはcomboBox.Item
Item"a"を選択したときに表示を"a2"に変えたいということなら
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox1.SelectedIndexChanged -= comboBox1_SelectedIndexChanged;//Indexを変えるのでイベントを外す
if (comboBox1.SelectedIndex == comboBox1.Items.Count - 1)//登録されている最後のIndexを参照する
{
comboBox1.Items.RemoveAt(comboBox1.Items.Count - 1);//Itemコレクションの内容を変えるために元のアイテムを削除する
comboBox1.Items.Add("a2");//"a2"を新しく登録する
comboBox1.SelectedIndex = comboBox1.Items.Count - 1;//コレクションの内容を変えるとIndexが変わるのでIndexを指定する
}
comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
}
たぶんこのくらい必要
2023/04/10(月) 19:06:06.56ID:CWrknl8o0
comboBoxのテキストを変更できるようにするプロパティがあったよね?
2023/04/10(月) 19:44:46.51ID:1G6uJTu10
ワーカーサービスとサービスアプリって別物なの?
201デフォルトの名無しさん (ワッチョイ 6e10-+HcC)
垢版 |
2023/04/10(月) 19:54:33.42ID:025b1B4Q0
>>196
BeginInvoke(new Action(() => comboBox1.Text = "a2"));
202デフォルトの名無しさん (ワッチョイ 8205-QZiB)
垢版 |
2023/04/11(火) 07:47:00.52ID:p3uKa8IZ0
comboBoxの者ですが例示頂いたサンプルコードで期待の動作をしました
ありがとうございます
.Textのセッターで書き換えられたら直感的だなと思いつつ別の仕様で都合悪いんでしょうね
2023/04/11(火) 10:42:20.15ID:LwvkJIu70
大学だとmacは買うなと名指しで書かれてた
買うのはWindows11入りi5以上RAM8G以上のoffice付
204デフォルトの名無しさん (ササクッテロロ Spd1-pbGt)
垢版 |
2023/04/11(火) 10:44:39.71ID:u/0zmHtvp
>>204
Mac「も」買えば無問題だぞ
2023/04/11(火) 10:56:37.78ID:U1LmOZAY0
365のアカデミック垢(Education A3/A5)を配布してない大学なんだろうか?
2023/04/11(火) 11:00:45.32ID:bVzsGz390
>>204
2023/04/11(火) 11:18:50.69ID:LwvkJIu70
officeは大学によって配布とそうじゃないとこがあるな
合格通知に付いていたパソコン購入の栞にはどこも同じようなスペックを書いてあった
毎年トラブルになってるらしくmacは非推奨、忘れてたけどSSDを強く推奨されてた。
208デフォルトの名無しさん (オッペケ Srd1-QZiB)
垢版 |
2023/04/11(火) 12:05:57.60ID:Owu2Qdxkr
>>203
情報系大学ならOS問わず乗り越えて欲しいよね
強いて言えばニンテンドースイッチをハックしてOffice365動作させるくらいの気概が欲しい
2023/04/11(火) 13:07:41.05ID:0aEeU09s0
東大はMacだもんな
2023/04/11(火) 15:24:29.19ID:LwvkJIu70
CPUが非intelな時点で選択肢には入らんでしょ
2023/04/11(火) 15:24:33.92ID:M16SAa5X0
>>207
SSDをSODと空目して、時間を止めるボタンを購入しちまう人もいるだろうさ
2023/04/11(火) 15:35:49.07ID:bVzsGz390
amdは許して
2023/04/11(火) 15:57:37.42ID:E8WJry610
経済学部とかならOS関係なくクラウドで全部出来るけども、
情報系なら機器制御とかもやるから、OS問わずは無理だろ
214デフォルトの名無しさん (ワッチョイ eebb-9Wvd)
垢版 |
2023/04/11(火) 17:07:55.85ID:xhbQUVf+0
授業内容によってはMac非推奨もあり得るだろう
ただどこの大学のどの学部なのか書かないことには、何に向かないのか参考にもならないだろう
2023/04/11(火) 18:13:31.92ID:SxJtNgeT0
ワッチョイ 6e10 3回
サクッテロロ Spd1
ワッチョイ 495f
ワッチョイ a9e5
オッペケ Srd1
ワッチョイ 412d
ワッチョイ 4642
ワッチョイ a9e5 2回
ワッチョイ c5ae
ワッチョイ eebb
2023/04/11(火) 19:01:55.92ID:yYayl2te0
https://books.google.co.jp/books?id=4CJdEAAAQBAJ&pg=PA112#v=onepage&q&f=false
の内容に関しての質問なんだけど、
Fooのコンストラクタをstaticコンストラクタに書き換えると、何で3 3になるの?

Console.WriteLine(Foo.X); // 3

class Foo
{
public static Foo Instance = new Foo();
public static int X = 3;

static Foo() => Console.WriteLine(X); // 3
}
2023/04/11(火) 19:08:53.25ID:gigFj8HV0
なんでってConsole.WriteLineが2回呼ばれてんじゃん
2023/04/11(火) 19:14:24.00ID:yYayl2te0
>>217
いや、だから static を付けない場合は、最初の出力は 0 なんだって
で、何故 static を付けると、3 になるかという事を聞きたいわけ
2023/04/11(火) 19:17:23.77ID:gigFj8HV0
何がわからんのかマジでわからん
初期化したらそれが出力されるのは当たり前じゃね?
2023/04/11(火) 19:19:52.43ID:yYayl2te0
>>219
で、static を付けた場合と付けなかった場合の出力結果の違いはどういう理由?
2023/04/11(火) 19:21:27.61ID:yYayl2te0
>>220
デフォルトコンストラクタ Foo() の直前の static の事ね
2023/04/11(火) 19:22:18.16ID:gigFj8HV0
どこにstaticつける話をしてるのか知らんけどクラスメンバーかインスタンスメンバーかの違い
静的コンストラクタはクラスメンバーがアクセスされる時点で初期化が終わってることが保証される
2023/04/11(火) 19:23:14.19ID:gigFj8HV0
>>221
それはコンストラクタじゃなくて静的コンストラクタだぞ
多分その本のもっと前に書いてある
2023/04/11(火) 19:39:59.03ID:yYayl2te0
>>222-223
staticを付けない、コンストラクタの場合、class Fooの最初の行でインスタンスが生成された時点では、Xが3に初期化されてないので、0になるが、
staticを付けた静的コンストラクタの場合、class Fooの最初の行とは無関係に、既にXが3に初期化された状態で Console.WriteLine(X) が実行済みなのね

public static Foo Instance = new Foo();

をコメントアウトして実行させてみて、やっと気付いた

有難う
2023/04/11(火) 23:11:43.43ID:/nZPjbDG0
1: Console.WriteLine(Foo.X); // 3
2: class Foo {
3: public static Foo Instance = new Foo();
4: public static int X = 3;
5: static Foo() => Console.WriteLine(X); // 3
6: }

静的コンストラクタのあるクラスの場合は
静的コンストラクタが実行される直前に静的イニシャライザが定義順で実行される

1行目のFoo.Xで静的コンストラクタがトリガーされるけど
その前に静的イニシャライザが3行目、4行目の定義順で実行される
3~4行目の実行が完了してから5行目の静的コンストラクタが実行されるのでXは3

3行目のnew Foo()で実行されるのはインスタンスコンストラクタで
staticがついた5行目の静的コンストラクタとは別のものになる
2023/04/12(水) 01:51:45.88ID:3I+WNe+L0
>>225
分かりやすい説明有難う御座いました。
2023/04/12(水) 08:44:45.21ID:75Jdcna40
静的イニシャライザの実行順は不定
2023/04/12(水) 08:58:31.49ID:5OqrGPiIr
そもそもこんな使い方することってある?
こんなわかりにくい実装したらバグしか生まないだろ
2023/04/12(水) 09:17:16.51ID:g9fBg21da
どういう順序で実行されるか解説するテキストで実験的なコードが紹介されてるだけだろ
本文が3行以上読めないやつがここで聞いただけ
2023/04/12(水) 10:30:19.47ID:mXnPigifr
いちいち質問者を貶すようなことでもなかろうに
2023/04/12(水) 11:26:53.10ID:yAM4RrWLM
どちらかと言うと本文を読んでいないのが >>229 でみんな雰囲気で答えてるだけ
英語嫁
2023/04/12(水) 12:21:14.58ID:bugel0eha
バグしか生まない実装を紹介する本ねぇ
読んだと自称するやつにはそう見えるのか
春だなぁ
2023/04/12(水) 12:29:42.24ID:USOc3PY3M
実際質問の出力結果示さずにこのスレの連中にstaticありなしの出力結果予想させたら3割も正解しなさそう
2023/04/12(水) 12:31:58.00ID:gsM5MkRcr
そういう意味ではアンチパターンだな
2023/04/12(水) 13:45:09.09ID:4Can4aDGr
C#の挙動がなぜそうなってるかの理由を知ることと、それを実際に開発に使用するかどうかは話が別だろう

当の本もこの挙動を利用して実装しろと勧めてるわけでもなし、バグしか生まない~などと腐すのも筋違い
2023/04/12(水) 14:11:43.79ID:uWUQySNG0
本に書いてあるコードでは>>225の5行目にstaticはついてない
3行目と4行目を入れ替えると出力結果が変わるようなことになるという注意を促して
イニシャライザの実行順序を理解させようとしている

static fieldの定義順に依存したコードはアンチパターンと言ってもいい気はするが
現実には↓こういうコード書く人がいるので動きを理解してることは重要
https://stackoverflow.com/questions/54692923/
2023/04/12(水) 17:54:22.82ID:lYmUspEYM
本にはこのコードのstaticはついてないのでいくら読んでもそういう話にはならない
コード提示した人が自分でstaticつけて疑問に思ったことを書いてるだけ

チャンと英語読めば批判してる人の脊髄反射でしかないとわかる
2023/04/12(水) 17:57:59.05ID:lYmUspEYM
>>232
英語嫁と上で書いてやったのに読まない馬鹿
2023/04/12(水) 18:00:18.84ID:lYmUspEYM
>>232
ごめん自分が読めてなかった

自分が馬鹿だったわ…
2023/04/12(水) 21:13:56.15ID:75Jdcna40
2023/04/13(木) 17:15:29.58ID:Zu8K3N7a0
過去にはAny CPUを選ぶと32bitライブラリか64bitライブラリかわからなくてエラーになる事があるから、
x86かx64に固定するのを推奨とかどこかで見た気がするけど、
今はそんな事無くなったのかな?
2023/04/18(火) 09:43:52.47ID:8GgykzJw0
ifで非null判定してからアクセスしてんのにnullの可能性がありますとか警告出す最近のC#はほんとクソ
2023/04/18(火) 09:47:05.00ID:zIS6YJzM0
>>242
出さねーよw
2023/04/18(火) 10:17:07.64ID:HhMbwi3l0
コンパイラのnullチェックを混乱させる凄い(≠素晴らしい)コードなのかもしれない
2023/04/18(火) 10:21:16.50ID:dDei21Qyp
見落としてる分岐があるだけだろ
2023/04/18(火) 10:22:53.46ID:HoHH5EgOa
多分チェックした後に別の値を代入するか値が変化するものを使ってるんだろうな
たとえばプロパティは一回目のアクセスと二回目のアクセスで同じ値が得られるとは限らない
変数に入れろ
そしたら多分警告消えるから
2023/04/19(水) 07:26:32.14ID:9LVfV8Mo0
警告が消えるのに時間がかかったり、Visual Studioを立ち上げ直したら警告が消えたことがある。
2023/04/19(水) 07:56:31.56ID:A9DJak9S0
マシンが遅いだけ
2023/04/19(水) 08:18:39.49ID:/RLG/xCj0
不必要なhoge?.hage();が残っているとnull判定されることがあるね
?取るとワーニングが消える
2023/04/19(水) 09:00:29.09ID:A9DJak9S0
hoge?.hoge()はhoge!=null?hoge():nullと同じ
nullが返る可能性があることを示すコードだからそりゃnullの可能性があると判定されるわな
2023/04/19(水) 09:16:28.63ID:/RLG/xCj0
>>250
問題はhoge?.hoge()のところではワーニングが出ずに、離れた場所にあるhoge.bar()でワーニングが出るから
知らないと混乱するってことだね
2023/04/19(水) 09:45:55.68ID:A9DJak9S0
そこで問題がないのに出るわけないじゃん
離れた場所にあるなら一度変数に入れなよ
そしたらnullの可能性があるかどうかマウスホバーで教えてくれるから
2023/04/19(水) 09:47:07.48ID:A9DJak9S0
結局この警告はバグを潰してくれてるものだから文句を言うのは筋違いだぞ
本来なら警告の代わりに実行時エラーになってたものだからな
2023/04/19(水) 10:04:51.79ID:/RLG/xCj0
>>252
コンストラクタなどで初期化していて本来はワーニングが出るはずがないのに
途中でhoge?hage()なんてコードがあるからヌルが入る可能性があると判断されるようだ
だから?を外すと解決するんだが、それに築くのが大変って話ね
2023/04/19(水) 10:18:42.95ID:A9DJak9S0
そこでnullを代入してるのに気づくのが大変てことはないと思うがな
警告が出ないなら大変かもしれんけど
2023/04/19(水) 10:25:41.00ID:ozyRSzfKa
たとえばUnityなんかだと暗黙の代入演算子をいじっててnullでないものがnullエラーを出すよ
コンストラクタで生成してすぐnullになるオブジェクトも作れる
そういうのを実行前に警告として教えてくれてるんだから親切以外のなにものでもないだろ

警告があれば何か問題があることにすぐ気づけるし気づいたらマウスをちょっと動かせば原因がわかる
コーディングが簡単になりこそすれ難しくなることなんかないだろ
257デフォルトの名無しさん (ササクッテロロ Spfb-tEYI)
垢版 |
2023/04/19(水) 10:29:18.14ID:wTDlMyrbp
nullableなboolean変数を条件判断させるとき
nullだったらどっちに判定されるんだ?
2023/04/19(水) 10:43:36.85ID:ozyRSzfKa
どっちでもない
nullはnull
2023/04/19(水) 12:47:18.86ID:/ifWvnPE0
勉強になった!
2023/04/19(水) 14:16:39.58ID:mDR4Tmnid
(bool)null
2023/04/19(水) 18:22:12.39ID:oWlQU8HM0
もうnullだったら死んでくれていい
プログラムでぬらぶるってるとムカつく
いいんだよ例外でもなんでも死ねば
2023/04/19(水) 18:32:54.51ID:oWlQU8HM0
プログラムの99.998%は概ねnullになんかなんないところばっかりなのに
なんでこんなクソ構文作ったのかわからん
現場で書くと嫌われるコード
こんなもんチェックするより他にやることはいくらでもある
263デフォルトの名無しさん (ササクッテロロ Spfb-tEYI)
垢版 |
2023/04/19(水) 19:21:06.22ID:Yh/qVtVOp
bool値に三状態あるのかw
2023/04/19(水) 19:27:25.28ID:Gw9y9MAb0
ヌルヌルヌールヌル
2023/04/19(水) 19:28:11.01ID:ol2MoW3SM
DBだと伝統的に3値だったりが当たり前
かなり問題がある作り
2023/04/19(水) 19:33:27.51ID:fW0fg9Ti0
null 許容値型
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/builtin-types/nullable-value-types
null許容値型(Nullable<T> 型)
https://ufcpp.net/study/csharp/sp2_nullable.html
267デフォルトの名無しさん (ワッチョイ bfe9-Naft)
垢版 |
2023/04/19(水) 20:30:00.61ID:C4s4zrWJ0
FormアプリでForm1とForm2を作る
Form1にラベルを作る
Form2にボタン1,ボタン2を作る
ボタン1を押すとラベルに"1"ボタン2を押すとラベルに"2"を、
Form2を閉じることなく設定するプログラムを作りたいのですが
どういう作り方をすれば実現できるでしょうか。
Form2にプロパティを作りForm1で文字を受け取る方法だとForm2を閉じないと値が設定できません。
よろしくお願いします。
2023/04/19(水) 20:35:45.45ID:erb9d6p60
>>267
別のフォームのデータを取得、設定する
https://dobon.net/vb/dotnet/form/accessanotherformdata.html
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。