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

■ このスレッドは過去ログ倉庫に格納されています
2020/12/16(水) 11:29:35.35ID:TSvQ057dM
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part148
https://mevius.5ch.net/test/read.cgi/tech/1590578921/
■関連スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
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/
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
2020/12/16(水) 11:49:28.32ID:nNBKgDIo0
関連スレ
ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1469538912/
2020/12/22(火) 11:28:16.22ID:ojlio7fm0
HttpClientって使いづらいんだけどなんでWebClientやWebRequestは非推奨でHttpClientが推奨なの?
2020/12/22(火) 13:06:20.64ID:T3f18Pq10
どう使いづらいの?
2020/12/22(火) 13:10:35.40ID:ojlio7fm0
>>4
エンコード指定出来ない点とか
別にそれでも問題にはならないけどだったらWebClientで良くない?ってなる
2020/12/22(火) 14:03:09.42ID:T3f18Pq10
>>5
え、できるでしょ
2020/12/22(火) 21:14:53.82ID:GHilppOn0
>>6
KWSK
2020/12/23(水) 09:31:05.35ID:zdm41kCZ0
まず、エンコードってもっと具体的に何のエンコードがはっきりしてくれんと
gzipやdeflat圧縮するcontent-encodingなのか、
chunked転送するcontent-transfer-encodingなのか、
はたまた、文字列送信したくて、その文字列のエンコードなのか..
まぁ、どのみちどれもできそうな気がするが
9デフォルトの名無しさん (ワッチョイ 5310-iuc3)
垢版 |
2020/12/28(月) 20:57:23.90ID:iJ3wi52z0
すみません 教えてください
CPUの使用率を知るために、

Windows.System.Diagnostics 空間の
SystemCpuUsage class が使えると思うのですが、

SyatemCpuUsage cpuUsage;
result = cpuUsage.GetReport();
とやると、 実行時に systemCpuUsage がnull でした
と怒られ、
SyatemCpuUsage cpuUsage = new SystemCpuUsage();
result = cpuUsage.GetReport();

とすると
SyatemCpuUsage cpuUsageには、引数0を指定するコンストラクターは含まれていません
と怒られます。

Cpuの使用時間を知りたいのですがどのようにすればよいのでしょうか?
2020/12/28(月) 21:59:41.52ID:mOtjlN620
SystemDiagnosticInfo.GetForCurrentSystemから
CPUの使用時間なら他にはSystem.Diagnostics.PerformanceCounter使うとか
2020/12/30(水) 08:34:44.60ID:QqXAyZyG0
CPU使用率取得 c#
でコードが出てきたがこれでは動かない?
12デフォルトの名無しさん (ワッチョイ aebb-AofU)
垢版 |
2021/01/03(日) 06:53:07.36ID:s7zZ6b100
var x = SomeClass.Create();
if( x?.BooleanProperty ){...}

の上手な書き方ってありますか?
↑はbool?とboolの違いで怒られます

if( x?.BooleanProperty == true ){...}

とかってスマートじゃない気がするんですが
2021/01/03(日) 08:16:15.77ID:TwYJ75OS0
>>12
nullのときってどう動くん?それ
2021/01/03(日) 08:44:58.15ID:/wUWHJa20
x.?prop ?? false
2021/01/03(日) 11:46:24.42ID:Cv28EBZ70
nullとfalse=NGの値が同じだから辛うじて動いてるだけの処理なのか

よくあるOK=0でそれ以外がエラーの処理でやっちゃうとおかしくなるから
そういうの書くのやめたほうがいーんじゃない?的な
2021/01/03(日) 12:25:34.51ID:9pfzLSF20
bool?の時は素直にtrueやfalseって書いた方が個人的に安心できる
まぁそんなことしなくて済むような構造にするのが一番だけど
2021/01/03(日) 12:58:09.11ID:Pz+0E5Uq0
>>12は条件が逆のとき
null==falseで入るときあんじゃん?
ウンコちっくじゃん?
2021/01/03(日) 14:43:03.50ID:dFTAfdRH0
初心者以前に国語力ない奴ばかりでワロタ
2021/01/03(日) 15:11:01.48ID:TwYJ75OS0
初心者は正しく誘導してやらないとな
間違いなくしなくていい省略をして
言語の機能に飛びついてウンコードを作ろうとしていたのを未然に防いだ

初心者スレはこうでなければ
2021/01/03(日) 15:44:01.57ID:FpoyKofE0
ifでリテラルや定数を右辺に書くのは素人
2021/01/03(日) 15:47:35.09ID:QdF5iATA0
仕様も確認せずにバグ作り込むアンポンタンしかおらんのかw
まず>>13への回答次第だろ
2021/01/03(日) 15:57:39.72ID:Xn7pfEjF0
>>20
いまだにそんなことを言う奴は恥ずかしい
2021/01/03(日) 16:40:24.21ID:ZZnWN1rj0
>>20
今はミスしてもちゃんと代入になっていると警告してるから気にしないね。
2021/01/03(日) 17:54:19.93ID:uWkBjJnT0
>>23
むしろ左辺に定数書いてる奴見ると殺しそうになる。
2021/01/03(日) 18:03:00.86ID:ZZnWN1rj0
>>24
俺はぶん殴ってやりたくなる。
2021/01/03(日) 18:13:01.03ID:YmRvWB9v0
君たちには先輩方に対する敬意がない
2021/01/03(日) 18:13:42.18ID:QdF5iATA0
別にそいつに危害を加えたくはない、というか関わりたくない
単に老害って哀しいなって思うだけ
2021/01/03(日) 18:28:01.16ID:VMrgEgvna
ちなみにヨーダ記法とも言う。
2021/01/03(日) 18:43:52.72ID:ZZnWN1rj0
ヨーダは好きだがヨーダ記法は嫌いです。
2021/01/03(日) 19:01:39.19ID:S0YLbz+qa
老害云々以前にC#ではほぼ何の意味もないけど、
CでもC#でも==とすべきところを=と書いちゃったことなんか一度もないな。
普通はそうだよね。
2021/01/03(日) 19:03:25.97ID:bRO3e+JVr
他の言語触ったあとだと間違えやすいんだよ
2021/01/03(日) 19:47:28.74ID:hIXjVHhw0
>>20
燃料投下ご苦労さま
2021/01/03(日) 20:07:34.43ID:QdF5iATA0
今までタイプミスしたことないからこれからもしないと言うのは単なるアホ
ただ昔のコンパイラでは警告でなかったから一定の意味は「あった」けど、未だに言ってるのは単なる老害
2021/01/03(日) 21:56:54.58ID:ZZnWN1rj0
>>31
C言語を使う前の言語って何だろう?
アセンブラならわかるけど。
必ず引き合いに出ると思う。
2021/01/03(日) 21:57:31.45ID:ZZnWN1rj0
>>33
同意。
2021/01/03(日) 22:08:58.55ID:adFNNdCNa
タイプミスてw
普通の人は画面見ながらコーディングするんだけどw
ひょっとすると==と打つつもりで=と打ったことはあるかもしれないが
それを見逃したことなど一度もない。

そもそもタイプミスは-キーのみで発生するわけではないので
理由になるはずがない。

申し訳ないけどこれ、昔も今も「羹に懲りてなますを吹く」以外の何物でもないよ。
そもそも「==の左辺に変数を書かない」などというルールを条件づけしたところで
その条件反射は間違って=を打ったところで発動しないのでは?w

っていうか同じ努力で「等価検査をしたい時は==」を条件づけられるだろうw
37デフォルトの名無しさん (アウアウエー Sa4a-Jh9r)
垢版 |
2021/01/03(日) 22:15:19.58ID:adFNNdCNa
こういう糞作法に疑問を感じない人はあれかね
+と打つつもりで*って打っちゃうかもしれないから
-+*/使わずにマクロでadd とかsubtractとか定義して使えって言われたら
納得して従うんかねwwwwwww
2021/01/03(日) 22:16:18.14ID:myNdCsmw0
>それを見逃したことなど一度もない。

それは「あなたが」でしょ?あなた以外の普通の人が見逃すことがないと断言できるわけはない。
2021/01/03(日) 22:22:10.37ID:hZvGxwgh0
実際してない証明はできないし無意味な話だよ
2021/01/03(日) 22:33:09.25ID:Lewq+os10
>>37
それCOBOLERの発想だよなぁw
2021/01/03(日) 22:50:45.04ID:TwYJ75OS0
VCの頃他の奴がやったときに結構見つけるまで苦労した覚えがあるけど
まあ、そんな頻度のあるバグではないな
42デフォルトの名無しさん (ワッチョイ 426a-Zovn)
垢版 |
2021/01/03(日) 22:58:13.35ID:VROyTreA0
等価演算子が == 以外の言語を使った事ないなら間違えないのかも
43デフォルトの名無しさん (アウアウエー Sa4a-Jh9r)
垢版 |
2021/01/03(日) 23:04:49.04ID:adFNNdCNa
VBA触った後にC系のコード書くとつい....ないってw

くどいようだけど、どっちにしろ条件づけ(条件反射)なので、
同じ条件づけなら直接的な方がいいに決まってるでしょ
2021/01/03(日) 23:06:47.84ID:Lewq+os10
その手のbugはgimpel の pc Lint で潰していたな
lattice 時代からだから歴史の長いsoftだ
2021/01/03(日) 23:12:43.97ID:fsLjg3fja
まあエディタ環境もLintも貧弱だった2000年位までならヨーダ記法の採用にも一理はあるかもしれないけど
現代的な環境でC#を書くなら論外だわな
>>38みたいなことを言い出す奴は間違いなく老害かただの難癖野郎なのでプロジェクトに迎え入れちゃいけないし
万一抱えなきゃいけなくなったとしても若手に影響を及ぼすような仕事を与えてはならない
2021/01/03(日) 23:35:31.66ID:myNdCsmw0
いや、勝手にヨーダ記法を推奨していることにせんでくれる?
2021/01/04(月) 00:03:18.28ID:Nz2iXOdN0
>>34
Pascal とか Basic だろ
2021/01/04(月) 00:04:33.12ID:Nz2iXOdN0
>>36
お前がタイプミスを見逃すかどうかなんてどうでもいい
一般的なプログラマーの話だから
2021/01/04(月) 00:07:02.17ID:Nz2iXOdN0
>>45
> >>38みたいなことを言い出す奴は間違いなく老害かただの難癖野郎なのでプロジェクトに迎え入れちゃいけないし
お前はもう少し文章をちゃんと読む癖をつけたほうがいい
仕様書を勝手な解釈でバグ作り込むタイプだと思うぞw
2021/01/04(月) 01:00:14.94ID:jzK8VmUQa
日本人は精神論根性論に走りやすいし、そうでなくても
ヒューマンエラーをシステマチックに回避しようという発想自体は悪くない。

ただ、その方法論が有効かどうか評価せずに飛びつくのは愚か。
日本は精神論者も多いけど、こういう教条主義者も負けないぐらい多い。
==の左辺に〜なんて全然有効じゃない。
2021/01/04(月) 01:14:52.17ID:jzK8VmUQa
それを言っちゃあおしまいよな話だけど、
真面目な話==と=を間違えるような人は本質的にプログラミング向いてないんだよw

間違うかそんなの。
ズブの素人でも1週間もコード書いてれば「等価検査は==」って条件づけされるってw
if(までタイプした時点で条件反射が発動するでしょ
2021/01/04(月) 01:33:02.28ID:3rgEqS6K0
まあ、でも定数値を左辺に書くことはメリットしかないからな
やれと言われればやることではある

ただ、規約にしてしまって
ソース中のやってない箇所を1つ1つチェックまでして直す価値はないと思う
あくまでなるべくそう書いた方がいいかな?レベル
2021/01/04(月) 01:45:03.22ID:3rgEqS6K0
いくらメリットしかないって言っても規約に昇華されて
チェックまでさせようとする奴がいるとそいつが邪魔

定数値を左辺に書くよりそいつを排除することに力を入れたほうがいい

他にもやることはたくさんある
グローバル変数なくしたり、無意味なメンバ変数削除して引数にしたりと

優先順位が遥かに高いものが他にたくさんあるという前提は忘れてはならない
54デフォルトの名無しさん (ワッチョイ 426a-Zovn)
垢版 |
2021/01/04(月) 02:08:37.49ID:+AkCQ/yL0
>>51
一時間おきにVBとC#のコーディングやってみなはれ
VBでIf文の条件式をカッコでくくってエラーに悩むとか絶対あるから
2021/01/04(月) 02:17:25.69ID:3rgEqS6K0
>>54
一時間おきにそんなことするプロジェクト稀だからそういう無意味な反論するなよ
時間の無駄
56デフォルトの名無しさん (ワッチョイ 426a-Zovn)
垢版 |
2021/01/04(月) 02:20:12.44ID:+AkCQ/yL0
>>55
一般的には稀なのかもしれんがそういうのもある
単純に == と = を間違える奴はプログラミング不向きとか言ってるバカに試してみて欲しい
2021/01/04(月) 02:22:58.44ID:6jvKGYBk0
>>52
不自然で読みにくい、という十分大きなデメリットがあるよ
2021/01/04(月) 02:41:40.35ID:3rgEqS6K0
>>56
そんなレアケースの備えいらねーだろ

>>57
https://i.imgur.com/5Lq75s4.jpg
https://i.imgur.com/7c1dHKQ.png
2021/01/04(月) 02:41:41.41ID:BeeF0dCGa
2000年代に入った頃から過剰コンプライアンスが問題視されるようになった
(でも改善はされないのが日本という国だけどw)が、あれとよく似てるね。

入院患者の取り違えが起こっては大変と、毎日何度も何度も氏名生年月日を確認する。
携帯キャリアのサポートに携帯で電話してるのに「お客様のお電話番号を〜」
本当に意味あるのかそれw

欧米人は絶対にこんなことしないだろう。

ルールを忘れるからとルールを忘れても問題を起こさないためのルールを覚える。
ここに矛盾を感じない人は論理的思考能力に欠陥がある。
プログラマに向いてないよw
2021/01/04(月) 06:55:02.30ID:h9VTRLOg0
そんなルールにこだわりたいのならテンプレくらい見てくださいね
2021/01/04(月) 07:01:35.74ID:ote7uWYR0
マ板でやれや
2021/01/04(月) 08:49:17.48ID:v6RCrFsZ0
ほら始まったマウント合戦
2021/01/04(月) 09:37:13.43ID:OpGFyjtND
続きはこちらでどうぞ
https://mevius.5ch.net/test/read.cgi/tech/1469538912/
2021/01/04(月) 10:27:40.46ID:Nz2iXOdN0
>>54
> VBでIf文の条件式をカッコでくくってエラーに悩む
それエラーにならないよ
単に ( ) で囲った式になるだけだから
言うなら逆に「Cでif文の条件式をカッコでくくらずにエラーに悩む」だろうね

と言うように人は必ず間違いを犯すものだとと思ったほうがいい
あとタイプミスの多寡とプログラマーとしての能力はあまり関係ない
優れたキーパンチャーは必ずしも優れたプログラマーとは限らない
2021/01/04(月) 12:49:08.68ID:OA+Odfw/0
定数値を左に書くのは20〜30年前の流行りで古臭いスタイル
66デフォルトの名無しさん (ワッチョイ aebb-mlD+)
垢版 |
2021/01/05(火) 15:53:00.06ID:G7CPq1YD0
ユニットテストを身につけたいのですが、公式ドキュメントにあるxUnit、NUnit、MSTestのどれが主流なのですか?
https://docs.microsoft.com/ja-jp/dotnet/core/testing/
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況