[過去ログ]
ふらっと C#,C♯,C#(初心者用) Part138 (1002レス)
ふらっと C#,C♯,C#(初心者用) Part138 http://mevius.5ch.net/test/read.cgi/tech/1528194762/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
1: デフォルトの名無しさん (ワッチョイ 369a-msj4) [sage] 2018/06/05(火) 19:32:42.28 ID:70UTtyrn0 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、 質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください >>980を踏んだ人は新スレを建てて下さい。 >>980が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■関連スレ C#, C♯, C#相談室 Part93 https://mevius.5ch.net/test/read.cgi/tech/1492818720/ ■前スレ ふらっと C#,C♯,C#(初心者用) Part137 https://mevius.5ch.net/test/read.cgi/tech/1523004019/ ■コードを貼る場合は↓を使いましょう。 http://ideone.com/ https://dotnetfiddle.net/ ■情報源 https://msdn.microsoft.com/ja-jp/library/gg145045.aspx https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index https://msdn.microsoft.com/en-us/library/gg145045.aspx http://referencesource.microsoft.com/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured http://mevius.5ch.net/test/read.cgi/tech/1528194762/1
973: デフォルトの名無しさん (ワッチョイ ffa6-F9eT) [sage] 2018/08/03(金) 22:57:30.21 ID:5FtEqA870 >>972 横からですが > ってあったときにコードAがfalseだからってコードCが実行されないとおかしくなる処理もあるんじゃね? そういう場合は && ではなく & を使うと良いようです。 よかったら「短絡評価」で検索してみてください。 http://mevius.5ch.net/test/read.cgi/tech/1528194762/973
974: デフォルトの名無しさん (スププ Sd1f-9U+n) [sage] 2018/08/03(金) 23:23:18.87 ID:zsmRuSg9d aaa?.bbb?. ccc == null http://mevius.5ch.net/test/read.cgi/tech/1528194762/974
975: デフォルトの名無しさん (ワッチョイ b3e3-HuCS) [sage] 2018/08/03(金) 23:36:42.74 ID:ls6gmcCr0 >>973 コードABCがそれぞれ判定結果を保持する処理をしてたら余計なお世話じゃねーか? http://mevius.5ch.net/test/read.cgi/tech/1528194762/975
976: デフォルトの名無しさん (ワッチョイ ffa6-F9eT) [sage] 2018/08/03(金) 23:59:44.06 ID:5FtEqA870 >>975 >>973 確かにその場合は短絡評価は余計なお世話と言うか、短絡評価を使うことは間違ってますね。 ただ、>>970 の例では副作用がないのは明らかですし、 C# で短絡評価が用意されている以上、それを使うなというのは酷な話のようにも思います。 今回の問題に関しては >>974 のような & も && も使わない解決策もありますが、 Microsoft の Reference Source でも obj != null && ((int)obj) != 0 のように 短絡評価が積極的に使われてますので、そのようなコードは認められるべきではないでしょうか。 http://mevius.5ch.net/test/read.cgi/tech/1528194762/976
977: デフォルトの名無しさん (ワッチョイ b3e3-HuCS) [sage] 2018/08/04(土) 00:26:40.78 ID:aY8Umh7+0 >>976 人に優しいコードじゃない 見たらちょっと考えちゃうだろ 俺はそれだけで避ける http://mevius.5ch.net/test/read.cgi/tech/1528194762/977
978: デフォルトの名無しさん (ワッチョイ cf81-TkmH) [sage] 2018/08/04(土) 00:53:29.00 ID:b3FMlOEa0 なんかnull条件演算子が短絡じゃないような言い方をしている人がいますが null条件演算子は短絡評価なので念のため 仕様の是非については関知しません 勝手にすればよろしい http://mevius.5ch.net/test/read.cgi/tech/1528194762/978
979: デフォルトの名無しさん (ワッチョイ 6f9e-QB3m) [] 2018/08/04(土) 09:01:55.83 ID:n5GHf3Ra0 >>974 もし aaa.bbb= null だった場合に、 if(aaa?.bbb?. ccc == null) がtrueになることは無いですか? http://mevius.5ch.net/test/read.cgi/tech/1528194762/979
980: デフォルトの名無しさん (ワッチョイ 7317-Xflc) [sage] 2018/08/04(土) 09:42:38.97 ID:wpkf7FcP0 ならない もしtrueにしたいのなら if(aaa?.bbb == null || aaa?.bbb?.ccc == null) にする http://mevius.5ch.net/test/read.cgi/tech/1528194762/980
981: デフォルトの名無しさん (ワッチョイ b3e3-Xflc) [sage] 2018/08/04(土) 09:49:39.47 ID:L3XBWYHn0 >>979 なるんじゃね? http://mevius.5ch.net/test/read.cgi/tech/1528194762/981
982: デフォルトの名無しさん (ワッチョイ b3e3-HuCS) [sage] 2018/08/04(土) 10:12:57.05 ID:aY8Umh7+0 >>980 ならないんだ? なんかあんま使わんほうがいいな この辺の仕様決めた奴って滅茶苦茶だな http://mevius.5ch.net/test/read.cgi/tech/1528194762/982
983: デフォルトの名無しさん (ワッチョイ 7317-Xflc) [sage] 2018/08/04(土) 10:16:40.19 ID:wpkf7FcP0 ごめん確認したらtrueになったわ http://mevius.5ch.net/test/read.cgi/tech/1528194762/983
984: デフォルトの名無しさん (ワッチョイ 43c9-Xflc) [sage] 2018/08/04(土) 10:18:40.31 ID:c4yFtWHQ0 Null 条件演算子の結果でnull判定ってなんか使い方おかしくね? null判定の記述省略が目的だと思ってたわ http://mevius.5ch.net/test/read.cgi/tech/1528194762/984
985: デフォルトの名無しさん (ワッチョイ b3e3-HuCS) [sage] 2018/08/04(土) 10:18:47.38 ID:aY8Umh7+0 >>983 なるのかよ http://mevius.5ch.net/test/read.cgi/tech/1528194762/985
986: デフォルトの名無しさん (ブーイモ MM67-Eno9) [sage] 2018/08/04(土) 10:46:26.16 ID:Q3NLupVYM ?.は使える場面が限られすぎてるんだよな 主語が違っても使えるようにしてほしい employee ?& company.Fire(employee) // employee != null ? company.Fire(employee) : null と等価 みたいな http://mevius.5ch.net/test/read.cgi/tech/1528194762/986
987: デフォルトの名無しさん (ワッチョイ ffb3-6jVY) [sage] 2018/08/04(土) 12:29:39.69 ID:AH7fLvgn0 >>984 > Null 条件演算子の結果でnull判定ってなんか使い方おかしくね? そんなもん何をやりたいかによるだろ > null判定の記述省略が目的だと思ってたわ Null条件演算子自体の目的はそれでいいと思うが http://mevius.5ch.net/test/read.cgi/tech/1528194762/987
988: デフォルトの名無しさん (ワッチョイ 6f9e-QB3m) [] 2018/08/04(土) 12:36:27.73 ID:n5GHf3Ra0 >>986 >employee ?& company.Fire(employee) ?& とは何ですか? ググルキーワード教えて下さい。 http://mevius.5ch.net/test/read.cgi/tech/1528194762/988
989: デフォルトの名無しさん (ワッチョイ 7f60-9U+n) [sage] 2018/08/04(土) 21:50:20.61 ID:sXotmGKy0 >>979 trueになるけどそれでだめなのかよ だったら aaa?.bbb != null && aaa.bbb.ccc == null http://mevius.5ch.net/test/read.cgi/tech/1528194762/989
990: デフォルトの名無しさん (ワッチョイ 8f9f-myUF) [sage] 2018/08/05(日) 15:20:33.53 ID:wZ9wDNsY0 俺なら分けてコメントでも書いておくかな if(aaa == null || aaa.bbb= null){ // Hack aaaとbbbがnullでもOKで、その時は何もしない。設計がゴミ } else if(aaa.bbb.ccc == null){ } http://mevius.5ch.net/test/read.cgi/tech/1528194762/990
991: デフォルトの名無しさん (オッペケ Src7-mXgF) [sage] 2018/08/05(日) 16:43:04.45 ID:RYmTh0/wr 再帰してNullチェックする関数一つ書けばいいのでは? http://mevius.5ch.net/test/read.cgi/tech/1528194762/991
992: デフォルトの名無しさん (ワッチョイ 639a-7JJt) [] 2018/08/05(日) 17:47:48.87 ID:76QdhMr90 どうでもいいことになるとレスが増えるな >>980 テンプレ読んでいるだろ。スレたて http://mevius.5ch.net/test/read.cgi/tech/1528194762/992
993: デフォルトの名無しさん (ワッチョイ 7317-Xflc) [sage] 2018/08/05(日) 18:17:15.11 ID:DE014Z3K0 建てられなかったので別の方お願い http://mevius.5ch.net/test/read.cgi/tech/1528194762/993
994: デフォルトの名無しさん (ワッチョイ ffb3-6jVY) [sage] 2018/08/05(日) 18:21:48.75 ID:C8NdcnMU0 >>991 再帰? 何言ってるんだ? http://mevius.5ch.net/test/read.cgi/tech/1528194762/994
995: デフォルトの名無しさん (ワッチョイ 43d2-j3zu) [sage] 2018/08/05(日) 18:38:49.57 ID:hZh56vqa0 再帰でnullチェックする関数気になるな http://mevius.5ch.net/test/read.cgi/tech/1528194762/995
996: デフォルトの名無しさん (ワッチョイ b38d-0Uuo) [] 2018/08/05(日) 19:30:23.50 ID:yb/HDiEo0 コンソールプログラミングでは Application.DoEventsが使えませんが 代わりに処理中の入力を受け付けるようなメソッドはないでしょうか? 時間がかかる処理をESCキーでキャンセルするような処理を コンソールプログラムで書きたいと思っています http://mevius.5ch.net/test/read.cgi/tech/1528194762/996
997: デフォルトの名無しさん (ブーイモ MM67-Eno9) [sage] 2018/08/05(日) 19:30:55.99 ID:uVIrroLRM こうかな // nullが見つかった深さを返す static int? AmazingNullCheck(int level, dynamic obj, params Func<dynamic, dynamic>[] next) => obj == null ? level : next.FirstOrDefault()?.Invoke(level + 1, obj, next.Skip(1).ToArray()); if (AmazingNullCheck(0, a, a=>a.b, b=>b.c) == 2) // a.b.c == null http://mevius.5ch.net/test/read.cgi/tech/1528194762/997
998: 997 (ブーイモ MM67-Eno9) [sage] 2018/08/05(日) 19:37:00.55 ID:uVIrroLRM 訂正 obj == null ? level : !next.Any() ? null : AmazingNullCheck(level + 1, next.First().Invoke(obj), next.Skip(1).ToArray()); かな http://mevius.5ch.net/test/read.cgi/tech/1528194762/998
999: デフォルトの名無しさん (ブーイモ MM67-Eno9) [sage] 2018/08/05(日) 19:43:31.17 ID:uVIrroLRM >>996 特に何もしなくてもCtrl + Cで止まるだろ? そのときに独自の処理を挟みたいなら Console.CancelKeyPress イベントを使う http://mevius.5ch.net/test/read.cgi/tech/1528194762/999
1000: デフォルトの名無しさん (ワッチョイ 338a-vpSm) [sage] 2018/08/05(日) 19:45:50.96 ID:3KDX12Zf0 1000ならjava民絶滅 http://mevius.5ch.net/test/read.cgi/tech/1528194762/1000
1001: 1001 [] ID:Thread このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 61日 0時間 13分 9秒 http://mevius.5ch.net/test/read.cgi/tech/1528194762/1001
1002: 1002 [] ID:Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。 運営にご協力お願いいたします。 ─────────────────── 《プレミアム会員の主な特典》 ★ 5ちゃんねる専用ブラウザからの広告除去 ★ 5ちゃんねるの過去ログを取得 ★ 書き込み規制の緩和 ─────────────────── 会員登録には個人情報は一切必要ありません。 月300円から匿名でご購入いただけます。 ▼ プレミアム会員登録はこちら ▼ https://premium.5ch.net/ ▼ 浪人ログインはこちら ▼ https://login.5ch.net/login.php http://mevius.5ch.net/test/read.cgi/tech/1528194762/1002
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.735s*