!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part145
https://mevius.5ch.net/test/read.cgi/tech/1570446977/
■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
・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
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
ふらっと C#,C♯,C#(初心者用) Part146
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9f0b-Fgt1)
2019/12/11(水) 22:12:11.28ID:d09CciDz0523デフォルトの名無しさん (ワッチョイ a9a7-oy3B)
2020/01/19(日) 08:13:14.51ID:CTmJNu4H0 >>520
ねーよ
だって俺が他人のソースを読むときに一番嫌なのは見えにくい動作だもの
ここが隠れてわかりにくい時点でその組み方に何の魅力も感じない
たくさん処理が分岐してるのであればそれを明示的に記述したい
思いっきりswitch caseで書きたい
ソースにhtmlのようなフォント設定機能があったら太字にしてサイズは72ぐらいで表示したい
ねーよ
だって俺が他人のソースを読むときに一番嫌なのは見えにくい動作だもの
ここが隠れてわかりにくい時点でその組み方に何の魅力も感じない
たくさん処理が分岐してるのであればそれを明示的に記述したい
思いっきりswitch caseで書きたい
ソースにhtmlのようなフォント設定機能があったら太字にしてサイズは72ぐらいで表示したい
524デフォルトの名無しさん (ワッチョイ e252-iiEx)
2020/01/19(日) 08:57:48.92ID:Wel1D6/w0 >>523
小学校からの通知や町内の回覧板に漢字が使われていたら、「俺は漢字は読めねーんだ!覚える気もしねぇ。俺が読めるようにひらがなだけ使え!」って言ってるようなもんだな。
難読漢字を多用してるならともかく、常用漢字も読めないならお前が勉強しろよ。
小学校からの通知や町内の回覧板に漢字が使われていたら、「俺は漢字は読めねーんだ!覚える気もしねぇ。俺が読めるようにひらがなだけ使え!」って言ってるようなもんだな。
難読漢字を多用してるならともかく、常用漢字も読めないならお前が勉強しろよ。
525デフォルトの名無しさん (ワッチョイ f901-YUdL)
2020/01/19(日) 09:07:37.25ID:bwAT5wiO0 >>523
〉だって俺が他人のソースを読むときに一番嫌なのは見えにくい動作だもの
誰だってそれは同じ
〉ここが隠れてわかりにくい時点でその組み方に何の魅力も感じない
それは、共通処理が隠れてわからないから全部インライン展開しろやと言ってるのと同じで、バカの理論。
引数にactionがある時点で、呼び出し元で処理を指定するのが判断できる
そういう共通処理なんだなとわかる
使い方もわかる
わかりにくいところはない
この程度のことをわかりにくいと思うなら、相当センス無いよ
〉思いっきりswitch caseで書きたい
actionを知らなくて(使い方に慣れてない。メリットを理解できてない)そういう人も多いからどちらでもどうぞ
action書けるとこは全部書けとも思ってない。メリット大なとこだけ書く(書き直させる)だけでも可と思ってるので
〉だって俺が他人のソースを読むときに一番嫌なのは見えにくい動作だもの
誰だってそれは同じ
〉ここが隠れてわかりにくい時点でその組み方に何の魅力も感じない
それは、共通処理が隠れてわからないから全部インライン展開しろやと言ってるのと同じで、バカの理論。
引数にactionがある時点で、呼び出し元で処理を指定するのが判断できる
そういう共通処理なんだなとわかる
使い方もわかる
わかりにくいところはない
この程度のことをわかりにくいと思うなら、相当センス無いよ
〉思いっきりswitch caseで書きたい
actionを知らなくて(使い方に慣れてない。メリットを理解できてない)そういう人も多いからどちらでもどうぞ
action書けるとこは全部書けとも思ってない。メリット大なとこだけ書く(書き直させる)だけでも可と思ってるので
526デフォルトの名無しさん (ワッチョイ a9a7-oy3B)
2020/01/19(日) 09:16:15.41ID:CTmJNu4H0527デフォルトの名無しさん (ワッチョイ a9a7-oy3B)
2020/01/19(日) 09:19:15.16ID:CTmJNu4H0 俺の価値観はさっきレスした通り
わかりやすい、明示的に、を何より優先する
お前のactionの処理は全部でいくつあるのかソース中を検索かけて隅々まで見ないとわからないじゃないか
欠陥コード乙
わかりやすい、明示的に、を何より優先する
お前のactionの処理は全部でいくつあるのかソース中を検索かけて隅々まで見ないとわからないじゃないか
欠陥コード乙
528デフォルトの名無しさん (ワッチョイ 6e7b-sHAu)
2020/01/19(日) 09:25:38.63ID:ZzFAG3/g0 君の価値観なんて興味ないよ
529デフォルトの名無しさん (ワッチョイ a9a7-oy3B)
2020/01/19(日) 09:27:56.48ID:CTmJNu4H0 >>528
涙を拭けよ
涙を拭けよ
530デフォルトの名無しさん (オッペケ Srd1-JESV)
2020/01/19(日) 09:32:32.58ID:MaygjnBtr 言わんとすることはわかるけど
まあ複数の場所に100個caseのあるswitchが出てくるとくじけることがある
まあ複数の場所に100個caseのあるswitchが出てくるとくじけることがある
531デフォルトの名無しさん (ワッチョイ 8dda-3EbS)
2020/01/19(日) 09:33:49.54ID:I9Aex3kB0 似たようなクラスが100個あっても挫けるw
532デフォルトの名無しさん (ワッチョイ f901-YUdL)
2020/01/19(日) 09:36:41.75ID:bwAT5wiO0 何だ、センス以前に真正バカだったか。
こういうのを老害(ゆとりバカ)と言うんだなw
真正バカと議論しても無駄なので無視(NG)っと
こういうのを老害(ゆとりバカ)と言うんだなw
真正バカと議論しても無駄なので無視(NG)っと
533デフォルトの名無しさん (ワッチョイ a9a7-oy3B)
2020/01/19(日) 09:37:18.43ID:CTmJNu4H0 しかもクラス100個が国産牛の脂肪ように間に入ってる
それらのactionの数だけそこを通るんだ
どう考えてもswitch caseのがいい
それらのactionの数だけそこを通るんだ
どう考えてもswitch caseのがいい
534デフォルトの名無しさん (アウアウイー Sa91-Ip36)
2020/01/19(日) 09:38:38.35ID:3HoQIb8Ca 老害staticおじさんの思考回路だな
こういうのは非つっようない限り関わり合いにならないようにするに限る
こういうのは非つっようない限り関わり合いにならないようにするに限る
535デフォルトの名無しさん (ワッチョイ dd1a-nNT5)
2020/01/19(日) 09:42:42.21ID:8lfsQblV0 >>522
マジであざっす!
マジであざっす!
536デフォルトの名無しさん (ブーイモ MM22-l/UV)
2020/01/19(日) 09:45:42.06ID:DBQFxOO/M 明示的に書いてあるほうがいいってのは数が少ない場合に限る
明示的に書いてあっても数が増えると同時に考えなければならない事項が増えて脳に多大な負担がかかるようになる
だから細かいことは気にしなくてもうまく行く仕組みを確立して脳の負担を減らすことの重要性が増す
というのがコードリーディングの観点での評価
他にもリビルド不要で拡張可能であるかどうか
開放閉鎖の原則を満たすかどうか
といった観点でも評価ができる
明示的に書いてあっても数が増えると同時に考えなければならない事項が増えて脳に多大な負担がかかるようになる
だから細かいことは気にしなくてもうまく行く仕組みを確立して脳の負担を減らすことの重要性が増す
というのがコードリーディングの観点での評価
他にもリビルド不要で拡張可能であるかどうか
開放閉鎖の原則を満たすかどうか
といった観点でも評価ができる
537デフォルトの名無しさん (ワッチョイ a9a7-oy3B)
2020/01/19(日) 09:47:57.84ID:CTmJNu4H0538デフォルトの名無しさん (ワッチョイ 0201-mQF2)
2020/01/19(日) 09:48:44.90ID:UmCLgzkS0539デフォルトの名無しさん (オッペケ Srd1-JESV)
2020/01/19(日) 10:32:09.72ID:MaygjnBtr コンパイラやバイトコードのツール類は巨大なsweichがドカーンと鎮座してるけど
内容がはっきりしてるからわかりやすい
検索したら内容は終えるし
そうじゃなくて内容に応じて動的に変わる場合はそれじゃ賄えないのでdelegate使うけど追うのは大変なのはわかる
でもそれはswich caseに落とし込めない
落とし込むとバグの温床になる
内容がはっきりしてるからわかりやすい
検索したら内容は終えるし
そうじゃなくて内容に応じて動的に変わる場合はそれじゃ賄えないのでdelegate使うけど追うのは大変なのはわかる
でもそれはswich caseに落とし込めない
落とし込むとバグの温床になる
540デフォルトの名無しさん (ワッチョイ f901-YUdL)
2020/01/19(日) 10:35:49.15ID:bwAT5wiO0541デフォルトの名無しさん (ブーイモ MM22-l/UV)
2020/01/19(日) 10:36:30.94ID:DBQFxOO/M542デフォルトの名無しさん (ワッチョイ a9a7-oy3B)
2020/01/19(日) 10:52:59.80ID:CTmJNu4H0 >>541
どこ?
どこ?
543デフォルトの名無しさん (ワッチョイ 0201-mQF2)
2020/01/19(日) 10:59:47.28ID:UmCLgzkS0544デフォルトの名無しさん (ワッチョイ 026a-A78j)
2020/01/19(日) 12:14:24.61ID:dJMtUDCZ0 このまえ相談室で暴れてた人と同じ人かw
545デフォルトの名無しさん (オッペケ Srd1-JESV)
2020/01/19(日) 12:21:15.99ID:MaygjnBtr 相談室ってまだあったのか
無くなったんだと思ってたw
無くなったんだと思ってたw
546デフォルトの名無しさん (オッペケ Srd1-JESV)
2020/01/19(日) 12:34:19.33ID:MaygjnBtr enumに実装が書けないのでと言う話も書いておこう
547デフォルトの名無しさん (ラクペッ MM99-iig7)
2020/01/19(日) 12:41:58.91ID:/DZ7cGa+M ガイジの相手をするなガイジ予備軍が
548デフォルトの名無しさん (ワッチョイ 8679-6zBS)
2020/01/19(日) 16:10:31.36ID:0ZXiDmye0 とガイジが申しております
549デフォルトの名無しさん (アウウィフ FF05-otum)
2020/01/19(日) 18:32:06.96ID:ehZNNwbSF >>465
「tsv」という呼称では呼ばれていなかったがタブ区切りデータは普通にあった
個人的にはアセンブラとか機械語だけで書かれてるプログラムが使ってることが多かった印象
他には「:」区切りや「;」区切りも割と良く見かけた
「tsv」という呼称では呼ばれていなかったがタブ区切りデータは普通にあった
個人的にはアセンブラとか機械語だけで書かれてるプログラムが使ってることが多かった印象
他には「:」区切りや「;」区切りも割と良く見かけた
550デフォルトの名無しさん (アウウィフ FF05-otum)
2020/01/19(日) 18:36:52.64ID:ehZNNwbSF >>469
切れたことならあるよ
切れたことならあるよ
551デフォルトの名無しさん (アウウィフ FF05-otum)
2020/01/19(日) 18:40:17.51ID:ehZNNwbSF >>484
感情はあくまで感情だから合理的に納得させる必要は無いでしょう
感情はあくまで感情だから合理的に納得させる必要は無いでしょう
552デフォルトの名無しさん (アウウィフ FF05-otum)
2020/01/19(日) 18:41:50.89ID:ehZNNwbSF553デフォルトの名無しさん (ワッチョイ 8dda-3EbS)
2020/01/19(日) 18:49:45.09ID:I9Aex3kB0 >>549
古いMakefileがそだねー
古いMakefileがそだねー
554デフォルトの名無しさん (ワッチョイ e14f-A78j)
2020/01/19(日) 21:12:21.07ID:fzpRtoDi0 昔はレコードデリミタ/フィールドデリミタといってプログラムごとに適当に決めてたな。
555デフォルトの名無しさん (ワッチョイ 8dda-3EbS)
2020/01/19(日) 21:17:27.74ID:I9Aex3kB0 ascii コードの30 = rs/31 = us
がそれだよ
がそれだよ
556デフォルトの名無しさん (ワイーワ2 FF4a-otum)
2020/01/20(月) 13:02:26.55ID:0GX6odYxF 1E
1F
って書いて欲しい
1F
って書いて欲しい
557デフォルトの名無しさん (ワッチョイ 872d-N7cG)
2020/01/22(水) 05:35:21.57ID:jiAXPaf20 単一のページ内で、Blazor ServerとBlazor Webassemblyを混ぜて使うことってできないのですか?
主にBlazor Webassemblyを使いたいものの、乗っ取られると危険な処理はBlazor ServerのビルドインSignalRに全部まかせたいんです
主にBlazor Webassemblyを使いたいものの、乗っ取られると危険な処理はBlazor ServerのビルドインSignalRに全部まかせたいんです
558デフォルトの名無しさん (ドコグロ MM7f-9ipO)
2020/01/24(金) 09:56:09.28ID:JmCTVAd4M559デフォルトの名無しさん (ワッチョイ 872d-N7cG)
2020/01/24(金) 10:59:53.85ID:dGUW4YWx0 >>558
ちゃんとできる人ならそれもいいかもしれませんが、私のレベルで手を出すのは危険なのです
ちゃんとできる人ならそれもいいかもしれませんが、私のレベルで手を出すのは危険なのです
560デフォルトの名無しさん (ドコグロ MM7f-9ipO)
2020/01/24(金) 11:40:10.55ID:JmCTVAd4M 意味がわからん
Web APIなんて枯れきった技術だろう
Blazorはバグだらけで、問題があったら自分でソース見たりgithubのissue上げたりできない奴は手を出してはいけない代物
Web APIなんて枯れきった技術だろう
Blazorはバグだらけで、問題があったら自分でソース見たりgithubのissue上げたりできない奴は手を出してはいけない代物
561デフォルトの名無しさん (ワッチョイ 872d-N7cG)
2020/01/24(金) 12:12:18.20ID:dGUW4YWx0 あなたは優秀なのかもしれませんが、私はマイクロソフトの技術者の足元にも及ばないので勘弁してください
562デフォルトの名無しさん (ラクッペ MMcb-FqWS)
2020/01/24(金) 12:33:53.87ID:/3SSBVjjM 百姓は畑を耕してろ
一丁前にコードを書くな
一丁前にコードを書くな
563デフォルトの名無しさん (スフッ Sd7f-er59)
2020/01/24(金) 16:03:06.25ID:3F6Soz5Bd お百姓さんにはかなわないけどね
米作ってる人が一番尊い
米作ってる人が一番尊い
564デフォルトの名無しさん (ワッチョイ a7da-OsbW)
2020/01/24(金) 16:32:47.40ID:0fpDf6xz0 上流でウンコしていたぞ(猪が)
565デフォルトの名無しさん (ワッチョイ a738-LPmA)
2020/01/24(金) 17:28:13.96ID:j9CjfTQQ0 Blazorは表面的には簡単に見えても
本質的には難易度高いはずだけどな
(見えないところで無理してる分)
サーバサイド技術は基本的な知識だから学習するに越したことは無いよ
つーけ後で結局手詰まりになる
本質的には難易度高いはずだけどな
(見えないところで無理してる分)
サーバサイド技術は基本的な知識だから学習するに越したことは無いよ
つーけ後で結局手詰まりになる
566デフォルトの名無しさん (ブーイモ MMcf-PIvP)
2020/01/24(金) 18:26:34.95ID:3tyqsjVMM blazor clientはシンプルなアーキテクチャでいいね
567デフォルトの名無しさん (オッペケ Sr7b-V1vN)
2020/01/24(金) 18:45:27.77ID:QXbxJw7Rr Blazorって普通は使う局面ないよな
568デフォルトの名無しさん (ワッチョイ a7da-OsbW)
2020/01/24(金) 18:48:38.24ID:0fpDf6xz0 金出してくれる人が居ないと使わないな
569デフォルトの名無しさん (オッペケ Sr7b-V1vN)
2020/01/24(金) 18:50:59.25ID:QXbxJw7Rr 開発側の利点で顧客が金を出してくれることはほぼないから無理
将来のメンテナンスコスト考えると普通にjs使うだろう
将来のメンテナンスコスト考えると普通にjs使うだろう
570デフォルトの名無しさん (ドコグロ MM7f-9ipO)
2020/01/24(金) 19:02:01.81ID:JmCTVAd4M まあWPFみたいにすぐに負債になるのがわかりきってるし、
自分のスキル的にも時間の無駄でしかないわな
自分のスキル的にも時間の無駄でしかないわな
571デフォルトの名無しさん (オッペケ Sr7b-V1vN)
2020/01/24(金) 19:03:04.46ID:QXbxJw7Rr MSがこういうものを金をかけて開発してるのが納得いかない
無駄でしかないのに
無駄でしかないのに
572デフォルトの名無しさん (ブーイモ MMcf-PIvP)
2020/01/24(金) 21:32:32.32ID:BNcCGxG7M Blazorは意外と業務系で普及するんじゃねえかと思ってる
業務系はJS不得手な人材沢山いるからC#でサクサク開発できるメリットがデカイ
業務系はJS不得手な人材沢山いるからC#でサクサク開発できるメリットがデカイ
573デフォルトの名無しさん (スププ Sd7f-fuq3)
2020/01/24(金) 22:20:15.50ID:C3Q0jCA8d WebAssemblyの実用化楽しみ
MSは開発がんばって欲しい
MSは開発がんばって欲しい
574デフォルトの名無しさん (ワッチョイ 2717-Jq7D)
2020/01/24(金) 22:53:56.32ID:qwJdCR860 WebAssemblyを基盤にしているからSilverlightみたく捨てられることは無いとは思うけどね
575デフォルトの名無しさん (ワッチョイ 5f59-9rwV)
2020/01/24(金) 22:59:42.67ID:A+ngz/Gy0 js不得手マンだけどjs周りをもっと使いやすくしてくれればそれでいいのよ
TypeScript使えば良さそう?だけど触ったことない
TypeScript使えば良さそう?だけど触ったことない
576デフォルトの名無しさん (ワッチョイ bf8c-hW+K)
2020/01/24(金) 23:04:24.05ID:7w/aTgJB0 blazorアイデアはいいんだけどいかんせんバイナリサイズがでかいのがどうにかしてほしい(サーバーサイドの方にはあまり将来性がないように見えるので)
せめてcorert経由するようになれば軽くなるんじゃないかと思うんだが
せめてcorert経由するようになれば軽くなるんじゃないかと思うんだが
577デフォルトの名無しさん (アウアウウー Sa4b-9ipO)
2020/01/25(土) 01:41:58.91ID:d2esTLOPa >>572
HTML/CSSはどのみち必須なんだから、クラシックなMVCアプリならほとんど変わらんよ
Blazorの意義はJSをゴリゴリ書かなくてもSPAを作れることにあるわけだけど、業務系でそんなもん要求されない
HTML/CSSはどのみち必須なんだから、クラシックなMVCアプリならほとんど変わらんよ
Blazorの意義はJSをゴリゴリ書かなくてもSPAを作れることにあるわけだけど、業務系でそんなもん要求されない
578デフォルトの名無しさん (ブーイモ MMcf-PIvP)
2020/01/25(土) 08:09:35.21ID:uZBTkj+yM 業務系は巨大で複雑なUIが多いからSPAのほうがうまくハマる
今は高度なJSスキルが必要だから避けられてるけどC#で書けるって理解されたら業務系でも採用が増えるだろうね
JSを排除できるメリットはかなり大きい
それに加えてMVCよりBlazorのほうが構文とアーキテクチャが直感的で簡単なのもポイント
BlazorはHTTP/HTMLの事情を詳しく知らなくても書けるように出来てる
MVCはHTTP/HTMLフレンドリで必要な前提知識が多いから業務系では採用しにくい
今は高度なJSスキルが必要だから避けられてるけどC#で書けるって理解されたら業務系でも採用が増えるだろうね
JSを排除できるメリットはかなり大きい
それに加えてMVCよりBlazorのほうが構文とアーキテクチャが直感的で簡単なのもポイント
BlazorはHTTP/HTMLの事情を詳しく知らなくても書けるように出来てる
MVCはHTTP/HTMLフレンドリで必要な前提知識が多いから業務系では採用しにくい
579デフォルトの名無しさん (ワッチョイ a7da-OsbW)
2020/01/25(土) 08:16:01.45ID:9ulxHddS0 それを資料に纏めて、金持っている
人を説得しないと。普及しないと思うよ。
人を説得しないと。普及しないと思うよ。
580デフォルトの名無しさん (ワッチョイ 874f-Jq7D)
2020/01/25(土) 09:56:59.74ID:E5VEPFTe0 BlazorはいいんだがRazorはどうにかして欲しいねぇ。WPFとか使えるようになればいいが。
581デフォルトの名無しさん (アウアウウー Sa4b-FkkX)
2020/01/25(土) 11:56:16.01ID:yEmrfQyPa swtich分って必要なんですか?
普通に変数1個にして外部ファイルで設定すればいいだけじゃ?
普通に変数1個にして外部ファイルで設定すればいいだけじゃ?
582デフォルトの名無しさん (ワッチョイ 47a7-zUmo)
2020/01/25(土) 12:16:51.33ID:aGrtTikH0 必要な引数も違うのにどうやって分岐無しで呼び出すの?
583デフォルトの名無しさん (アウアウウー Sa4b-FkkX)
2020/01/25(土) 12:47:14.80ID:yEmrfQyPa 1=りんご
2=バナナ
3=キウイ
4=いちご
5=みかん
こんな感じのテキストファイル作ればいいだけじゃ?
2=バナナ
3=キウイ
4=いちご
5=みかん
こんな感じのテキストファイル作ればいいだけじゃ?
584デフォルトの名無しさん (ワッチョイ 7f7b-cNeF)
2020/01/25(土) 12:49:28.83ID:i8uJy1+m0 >>583
相談室でやれ
相談室でやれ
585デフォルトの名無しさん (ワッチョイ 47de-zUmo)
2020/01/25(土) 13:42:09.40ID:4b4RV2/q0 >>583
引数がそれぞれ0,4,7,17,5とか変わったらどうやって呼び出すの?
引数がそれぞれ0,4,7,17,5とか変わったらどうやって呼び出すの?
586デフォルトの名無しさん (ワッチョイ 7fe3-9rwV)
2020/01/25(土) 14:13:33.17ID:o6R4c/m/0 >>583
それがクラス定義だった糞プログラムのメンテ担当したことあるけど、正直殺意沸くレベルだった
それがクラス定義だった糞プログラムのメンテ担当したことあるけど、正直殺意沸くレベルだった
587デフォルトの名無しさん (ワッチョイ 872d-N7cG)
2020/01/25(土) 14:20:20.86ID:ZOSNmQ0W0 文字列やバイナリを処理する辺りでswitchが出てくるのは仕方ないにしても、それ以外でswitch文が出てきたらほぼ設計ミスだろうな
588デフォルトの名無しさん (ワッチョイ 872d-N7cG)
2020/01/25(土) 14:22:56.55ID:ZOSNmQ0W0 ごめん、入力を受け付けるようなものは使ってもミスでも何でもないな
589デフォルトの名無しさん (ワッチョイ 5f52-zhKY)
2020/01/25(土) 14:29:09.12ID:yYit9skn0 >>583
それでいいと思うなら、もうそれでいいよ。
switchが役立つと思う場面に出会ったことがないなら無理に使わなくていい。
普通にプログラミングの学習をしたり実際に何か作り始めれば、そう遠くないうちに役に立つと思える場面に出会うはず。
それでいいと思うなら、もうそれでいいよ。
switchが役立つと思う場面に出会ったことがないなら無理に使わなくていい。
普通にプログラミングの学習をしたり実際に何か作り始めれば、そう遠くないうちに役に立つと思える場面に出会うはず。
590デフォルトの名無しさん (ブーイモ MMcf-PIvP)
2020/01/25(土) 14:30:38.90ID:PElhnxqRM 重複したswitchや長大なswitchが悪いのであってswitch全てが悪いわけではない
拡張するときに不便を感じたら多態に置き換えればいい
拡張するときに不便を感じたら多態に置き換えればいい
591デフォルトの名無しさん (ワッチョイ 7f63-FqWS)
2020/01/25(土) 14:46:40.30ID:r9Vw3y6V0592デフォルトの名無しさん (アウアウウー Sa4b-2gyN)
2020/01/25(土) 14:56:41.64ID:GuCewVbja プログラミングに限らずどのフィールドでもそうだけど、
イキってる系の連中の主張は話半分に聞いておくのがいいと思うよw
イキってる系の連中の主張は話半分に聞いておくのがいいと思うよw
593デフォルトの名無しさん (ワッチョイ 5f01-oRbG)
2020/01/25(土) 15:17:19.02ID:m3Nt4oA+0 >>583
条件文をマッピングテーブルで置き換えるという古典的なリファクタリング方法の一つ
どちらかが常に優れてるわけではなく状況に応じて選択するもの
C#のバージョンや分岐の数によっては
コンパイラがswitch文をdictionaryのlookupに変換してる
条件文をマッピングテーブルで置き換えるという古典的なリファクタリング方法の一つ
どちらかが常に優れてるわけではなく状況に応じて選択するもの
C#のバージョンや分岐の数によっては
コンパイラがswitch文をdictionaryのlookupに変換してる
594デフォルトの名無しさん (アウアウウー Sa4b-9ipO)
2020/01/25(土) 15:30:40.16ID:d2esTLOPa595デフォルトの名無しさん (ワッチョイ 5f6a-Jq7D)
2020/01/25(土) 17:27:27.49ID:BsPUEvyF0596デフォルトの名無しさん (ワッチョイ 5f01-oRbG)
2020/01/25(土) 18:16:56.04ID:m3Nt4oA+0597デフォルトの名無しさん (アウアウウー Sa4b-kxbL)
2020/01/25(土) 22:26:55.47ID:wDceYoyFa 流れよく分かんないんだけど
つまりenumで分岐して処理呼び出す場合はswitchと配列のどっちが何倍くらい速いの?
public static int Execute(this Test type, int value){
// 無難にベタ書き
switch(type){
case Test.One: return Method(value);
}
// 配列からメソッドを呼ぶ
return methods[(int)type](value);
}
こんな風にenumに処理持たせてやりたいんだ俺
つまりenumで分岐して処理呼び出す場合はswitchと配列のどっちが何倍くらい速いの?
public static int Execute(this Test type, int value){
// 無難にベタ書き
switch(type){
case Test.One: return Method(value);
}
// 配列からメソッドを呼ぶ
return methods[(int)type](value);
}
こんな風にenumに処理持たせてやりたいんだ俺
598デフォルトの名無しさん (ワッチョイ 0763-Lndp)
2020/01/25(土) 22:30:01.75ID:/sK0Ml340 ケースバイケース
どっちが早いのかは実測が基本
どっちも最適化等々で逆より早くなりうる可能性がある
どっちが早いのかは実測が基本
どっちも最適化等々で逆より早くなりうる可能性がある
599デフォルトの名無しさん (ワッチョイ 5f79-9rwV)
2020/01/25(土) 23:36:00.99ID:qKRb63Fa0 単純な配列はいつでも最速だと思ってたが違うのか?
読むのが単なる値じゃなくて処理な時点で誤差レベルだと思うが
読むのが単なる値じゃなくて処理な時点で誤差レベルだと思うが
600デフォルトの名無しさん (ワッチョイ a7da-OsbW)
2020/01/25(土) 23:53:16.79ID:9ulxHddS0 XLAT
601デフォルトの名無しさん (ワッチョイ 0763-Lndp)
2020/01/26(日) 00:22:55.28ID:P1M2Ekec0 配列はちゃんと理解してないと境界値チェックが入って意外に遅くなることがあるよ
だいたい気にならんレベルだけど競技プロとかやるようなら結構影響してくる
だいたい気にならんレベルだけど競技プロとかやるようなら結構影響してくる
602デフォルトの名無しさん (アウアウウー Sa4b-2gyN)
2020/01/26(日) 00:30:35.09ID:1Qgc/rXOa603デフォルトの名無しさん (ワッチョイ 0763-Lndp)
2020/01/26(日) 01:00:25.24ID:P1M2Ekec0 俺もCから入ったから配列にして呼び出す処理は昔はよく書いた
enumを配列の添字にするのもよくやった
処理速度気にする開発することは多少あるけど基本的にどっちもC#ではやらんな
enumに処理持たせたいって要件ならそれぞれの値ごとにclass作って継承させるかな?
詳細仕様次第ではあるけど
そんなんめんどくせってなるようなレベルならぶっちゃけどっちだって変わらん話なんだから好きにすれば?って思う
enumを配列の添字にするのもよくやった
処理速度気にする開発することは多少あるけど基本的にどっちもC#ではやらんな
enumに処理持たせたいって要件ならそれぞれの値ごとにclass作って継承させるかな?
詳細仕様次第ではあるけど
そんなんめんどくせってなるようなレベルならぶっちゃけどっちだって変わらん話なんだから好きにすれば?って思う
604デフォルトの名無しさん (ワッチョイ 5f01-oRbG)
2020/01/26(日) 02:03:17.34ID:ux8Vy6ZU0605デフォルトの名無しさん (アウアウウー Sa4b-2gyN)
2020/01/26(日) 02:46:23.95ID:1Qgc/rXOa 過去に散々既出だと思うけどdelegate自体がもともと重いんだろうね。
単なる関数ポインタとは違うから
単なる関数ポインタとは違うから
606デフォルトの名無しさん (アウアウウー Sa4b-kxbL)
2020/01/26(日) 07:42:07.62ID:oZpGD5h+a607デフォルトの名無しさん (オッペケ Sr7b-V1vN)
2020/01/26(日) 10:32:12.87ID:aeprKMLHr enumの実装が書けたら違うことになってるかもな
でも今はいらない
でも今はいらない
608デフォルトの名無しさん (アウアウウー Sa4b-FkkX)
2020/01/28(火) 19:46:47.61ID:eMbEeMz/a609デフォルトの名無しさん (アウアウウー Sa4b-FkkX)
2020/01/28(火) 19:48:39.10ID:eMbEeMz/a610デフォルトの名無しさん (ワッチョイ 0763-Lndp)
2020/01/28(火) 20:37:03.72ID:WmWS3LeK0611デフォルトの名無しさん (アウアウウー Sa4b-FkkX)
2020/01/28(火) 20:54:23.00ID:eMbEeMz/a >>610
何で?ググるの面倒なので
何で?ググるの面倒なので
612デフォルトの名無しさん (ワッチョイ 5f52-zhKY)
2020/01/28(火) 20:56:03.48ID:ciqR13vi0 >>609
もうID変わってるだろうけど>>589なのだが、皮肉のつもりで言ったのが通じてないようだ。
switchの用途として>>583みたいなのでいいのではなんて言うのは圧倒的に経験が少ない証拠だろう。ちょっと慣れて自分でコードを書けるようになればそんなバカな発想はしなくなるよ。
そんな段階で>>609みたいな文法にケチつける前に、なんでその文法が必要なのか、何でそういう形式になってるのか理解する努力をしなよ。
C#のような後発の言語が生まれる過程では、君みたいな初心者が考えるようなことはとっくの昔に議論済みでそれらを踏まえた上で今の形がある。疑問を持つのは多いに結構だけど、往々にして言語の仕様が悪いのではなく、単に自分が無知なだけだから。
もうID変わってるだろうけど>>589なのだが、皮肉のつもりで言ったのが通じてないようだ。
switchの用途として>>583みたいなのでいいのではなんて言うのは圧倒的に経験が少ない証拠だろう。ちょっと慣れて自分でコードを書けるようになればそんなバカな発想はしなくなるよ。
そんな段階で>>609みたいな文法にケチつける前に、なんでその文法が必要なのか、何でそういう形式になってるのか理解する努力をしなよ。
C#のような後発の言語が生まれる過程では、君みたいな初心者が考えるようなことはとっくの昔に議論済みでそれらを踏まえた上で今の形がある。疑問を持つのは多いに結構だけど、往々にして言語の仕様が悪いのではなく、単に自分が無知なだけだから。
613デフォルトの名無しさん (ワッチョイ bf8c-vjh7)
2020/01/28(火) 20:58:55.67ID:gjKbUoJM0 そもそもシリアライズするにしても=なんかつかいたかねえ
614デフォルトの名無しさん (ワッチョイ 0763-Lndp)
2020/01/28(火) 21:06:37.92ID:WmWS3LeK0615デフォルトの名無しさん (ワッチョイ 47a7-zUmo)
2020/01/28(火) 21:06:53.68ID:q5l9JsKl0 最近の言語の傾向見てると
どっかの言語が導入すると移植のために?かどうかはわからんが
良し悪しに関わらず他の言語も実装される感じ
どっかの言語が導入すると移植のために?かどうかはわからんが
良し悪しに関わらず他の言語も実装される感じ
616デフォルトの名無しさん (ワッチョイ 47a7-zUmo)
2020/01/28(火) 21:23:16.25ID:q5l9JsKl0 JavaScriptとPHPに慣れたら多次元連想配列無い言語がオワコンに見えるようになった
しかし
var obj = getExExBigData();
↑超絶巨大データ(フォーマット・ドキュメント不明)
勘弁してくれよってのも事実
c#の未来はどうなるのか?
しかし
var obj = getExExBigData();
↑超絶巨大データ(フォーマット・ドキュメント不明)
勘弁してくれよってのも事実
c#の未来はどうなるのか?
617デフォルトの名無しさん (ワッチョイ 7dda-mRwA)
2020/01/29(水) 04:42:05.41ID:9DDwBhYq0 DataGridViewで、Cellに不正な値が入力された場合はフォーカスの移動を禁止するようにしたいのですが、
以下の方法では、移動してしまいます。
移動させないようにするにはどうすればよいでしょうか。
private void dataGridView_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (String.IsNullOrEmpty(this.dataGridView[e.ColumnIndex, e.RowIndex].Value as string))
{
e.Cancel = true;
}
}
以下の方法では、移動してしまいます。
移動させないようにするにはどうすればよいでしょうか。
private void dataGridView_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (String.IsNullOrEmpty(this.dataGridView[e.ColumnIndex, e.RowIndex].Value as string))
{
e.Cancel = true;
}
}
618デフォルトの名無しさん (ワッチョイ a5a7-UGOI)
2020/01/29(水) 07:14:46.75ID:hzNdq+pG0 >>617
具体的に何入力して移動したん?
具体的に何入力して移動したん?
619デフォルトの名無しさん (ドコグロ MM12-CWn9)
2020/01/29(水) 07:26:15.27ID:M9CckfF9M620デフォルトの名無しさん (アウアウウー Sa21-4r/6)
2020/01/29(水) 07:51:31.42ID:wu2AIlA1a >>617
CellChangingみたいな選択セル変更前のイベントが無かったっけ?
CellChangingみたいな選択セル変更前のイベントが無かったっけ?
621デフォルトの名無しさん (ワッチョイ 667b-UZ8j)
2020/01/29(水) 17:28:02.98ID:HGA4G3kr0 >>617
この人だけじゃないけど、まずこういうところに質問投げる前に分岐がきちんと機能しているか確かめた方がいい
それの場合は this.dataGridView[e.ColumnIndex, e.RowIndex].Value as stringの内容確認
直接の回答としてはhttp://dobon.net/vb/dotnet/datagridview/cellvalidating.htmlを参考にして書き直せ
解説を入れると
DataGridViewでセルに直接値を入力した場合はフォーカスが変わるか.EndEdit()などしないと入力された値が反映されない
そのイベント自体そのために用意されているはず
だからそのメソッドの中で「dataGridView[e.ColumnIndex, e.RowIndex].Value」は入力する前のセルの値で
入力された値を参照したかったら「e.FormattedValue」を見ないといけない
この人だけじゃないけど、まずこういうところに質問投げる前に分岐がきちんと機能しているか確かめた方がいい
それの場合は this.dataGridView[e.ColumnIndex, e.RowIndex].Value as stringの内容確認
直接の回答としてはhttp://dobon.net/vb/dotnet/datagridview/cellvalidating.htmlを参考にして書き直せ
解説を入れると
DataGridViewでセルに直接値を入力した場合はフォーカスが変わるか.EndEdit()などしないと入力された値が反映されない
そのイベント自体そのために用意されているはず
だからそのメソッドの中で「dataGridView[e.ColumnIndex, e.RowIndex].Value」は入力する前のセルの値で
入力された値を参照したかったら「e.FormattedValue」を見ないといけない
622デフォルトの名無しさん (アウアウウー Sa21-0Ybi)
2020/01/29(水) 20:53:31.76ID:2z1gsFLxa >>612
この言語って文字列操作に特化してるからテキストを利用するのって
全然普通だと思いますけどね。
後0<input&&input<10じゃないとだめなのは、何となくですが
数式はポーランド記法によって処理されることに関係しますか?
分かりませんけど。
この言語って文字列操作に特化してるからテキストを利用するのって
全然普通だと思いますけどね。
後0<input&&input<10じゃないとだめなのは、何となくですが
数式はポーランド記法によって処理されることに関係しますか?
分かりませんけど。
623デフォルトの名無しさん (ワッチョイ 0a1b-jgyw)
2020/01/29(水) 21:21:21.50ID:7ZbwpcWy0■ このスレッドは過去ログ倉庫に格納されています
