ふらっと C#,C♯,C#(初心者用) Part128 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2017/05/02(火) 22:05:40.13ID:OPFlvhxj
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part127 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1489498042/

■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1492843013/

■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2017/05/02(火) 22:06:57.98ID:WIY0Y0E6
var = 乙
2017/05/02(火) 22:27:22.22ID:zgEKCDSk
>>1おつ

そういえば、変数名にvarは使えるんだよな
int var = 0;
みたいなコードを見てギョッとしたおもひで
2017/05/02(火) 22:30:28.80ID:eRbWh9gN
responses.Where(i => i == 1).Select(x => "乙");
2017/05/02(火) 23:43:06.05ID:Tfdj4LyE
varがダメって人は変数名に型名つけたりするんかな
string hogeStr=getHogeMoji();
2017/05/02(火) 23:49:26.07ID:6QYZnmvB
ハンガリアン記法かよ
2017/05/02(火) 23:57:35.90ID:7jrBakQ7
var使うなもハンガリアンも同じ(間違った)問題意識ではあるね
2017/05/03(水) 00:31:58.92ID:kdqGhQXm
Linq使うなラムダ使うなvar使うな保守できない読めないって自分がバカなのをまず自覚してほしい
2017/05/03(水) 04:08:09.16ID:yIaEn83J
>>5
逆だろ
そんなの付けたくないのでしっかり型を明記して欲しい
2017/05/03(水) 04:10:11.89ID:tOtENMmp
>>8
俺からするとわざわざ読めない人増やして何がやりたいのかな?って思う
2017/05/03(水) 06:47:51.71ID:zkWNfzXl
>>10
俺からするとその程度で読めなくなるようなカスを集めて何がやりたいのかな?って思う
2017/05/03(水) 06:56:51.11ID:m1a7RzgX
>>10
>>11
同意件だわ。
2017/05/03(水) 07:00:27.28ID:Gc6xuRHP
>>9
型明記しなきゃわからないなら
画面内に型が表示されていないとわからないレベルでしょ?
2017/05/03(水) 07:02:38.18ID:EX/3Lz+X
まだ続けるのー><
2017/05/03(水) 08:31:00.19ID:VaB9PVwh
>>5
Javaかな?
2017/05/03(水) 10:33:26.27ID:TVGKVl2u
int x = hoge?.Value ?? -1;
これ一般的だよね?
2017/05/03(水) 11:02:17.93ID:a1mhcLpw
普通 var x = hoge.Value ?? -1;
2017/05/03(水) 12:08:34.66ID:9NtpzxGG
他人(MS)が作った言語に文句ばかり垂れてるヘタレ底辺
嫌なら自分で好みの言語作ればいいのに
2017/05/03(水) 12:18:23.58ID:O+hXuTVQ
>>17

hogeがnullだとぬるぽだから16が正解
2017/05/03(水) 12:34:48.91ID:IhwilyPb
>>18
そういうの滲み出てるからc#で作れるものって少ないじゃん
windowsアプリとゲームぐらいじゃないの?

ストアアプリも失敗
silverlightも失敗
WPFも失敗
Azureも失敗

c#で作れるものってWindowsFormとゲームしか残ってないよな?
2017/05/03(水) 12:39:43.55ID:32xBqvCb
>>20
ゲーム作れれば十分だと思うがOSとかドライバ作れないとだめなのか
2017/05/03(水) 13:20:53.94ID:VaB9PVwh
>>20
API
2017/05/03(水) 13:39:58.01ID:FWXQV7fR
>>17
こういう「リファクタリング」する人よくいるわ
なぜそう書かれているのかをあまり考えず簡略化してしまって結果動作が変わる
2017/05/03(水) 13:49:44.09ID:yMHwWAzs
>>16
まあ一般的になってきたかな
var x = hoge?.Value ?? -1;
2017/05/03(水) 14:27:23.36ID:PAB4dkAH
>>24
-1が何を指してるかわからないマジックナンバーだから本来は許されないが
MSも同じことをやってる
これは完全に悪習

たちが悪いやつになると-1を前提にして計算してぱっと見何をやってるかわからなくなってる
cのころifの判定に数式を入れて分岐してたのと同じぐらいの害悪

c#はifの判定結果がboolじゃないとコンパイラエラー
bool?もダメ
2017/05/03(水) 14:30:14.36ID:PAB4dkAH
nullをわざわざはじいておきながら-1というマジックナンバーを導入している
変な風習
将来はなくすべき
2017/05/03(水) 14:50:58.16ID:32xBqvCb
また俺がルールさんがやって来た
2017/05/03(水) 14:55:55.52ID:PAB4dkAH
仮に
var x = hoge?.Value ?? -1;
として-1が返ってきたとしてそれをそのまま使うのか?

そのあとif(x==-1)するなら最初からvar x = hoge?.Value ?? -1;なんてしないで
if(hoge==null)したほうがいい
2017/05/03(水) 14:59:59.06ID:Qe/Rl4Fq
ワッチョイが消えたせいで ID:PAB4dkAH みたいなヤツをNGに登録するのが面倒になったな
2017/05/03(水) 15:02:18.92ID:PAB4dkAH
理解できないならいいよ

おまけ
pythonとかじゃ配列にマイナス添え字が使えるので
indexの見つからない結果に-1は不適切
2017/05/03(水) 15:05:37.18ID:Qe/Rl4Fq
理解できるできないの問題じゃねーよ
ここは「初心者用」なんだよスレチ野郎はさっさと消えろ
2017/05/03(水) 15:08:37.35ID:PAB4dkAH
初心者の皆様へ

意味を持たない自分が勝手に決めた俺俺数字 -1は使わないようにしようね
こういうのはマジックナンバーと言って使うなとそのうち教わります
33デフォルトの名無しさん
垢版 |
2017/05/03(水) 15:14:01.74ID:EjDQxWog
初心者はまず使わないし式の意味わからないだろうから心配いらんと思うが
2017/05/03(水) 15:15:04.81ID:PAB4dkAH
var x = hoge?.Value ?? -1;が一般的とか使われるようになってきたとか
初心者に間違った知識を植え付けないほうがいいでは?
2017/05/03(水) 15:20:49.03ID:n3jwfd5I
日本語からまともにしとけタコ
2017/05/03(水) 15:23:23.86ID:n3jwfd5I
>>21
そもそもAzureは好調だがどこの世界の話をしてんだ
http://www.itmedia.co.jp/pcuser/spv/1705/01/news035.html
2017/05/03(水) 15:24:15.23ID:PAB4dkAH
俺のことはC#でググれとか言ってる岩永氏も同じレベルなんだからしょうがないわな・・・
2017/05/03(水) 15:24:54.24ID:n3jwfd5I
日本語からまともにしとけタコ
2017/05/03(水) 15:37:34.40ID:aKL6bPvW
まさか真面目に言ってるとは思わなかったw

var x = hoge?.Value ?? -1;
この-1がマジックナンバーかどうかはケースバイケース。
変数名がちゃんとしていて意図が読み取れれば-1の意味は自明な場合もある。

しかし、ID:PAB4dkAHみたいなのが職場におったらやりづらいねw
2017/05/03(水) 15:44:35.37ID:IGshBH22
全体の意図把握せずに一行だけ見て「初心者はこれをやってはいけない」
とか職場で言っていたら無能どころかキチガイ
2017/05/03(水) 15:48:17.50ID:aKL6bPvW
どんな道具も使い方次第で凶器にもなりうるわけで、
極端な話、こういう構文だから、こういう書き方だから一律にわかりづらいなんてことはなく、
すべてがケースバーケースなんだけど、そういう実質を自分の頭で判断する能力がない人が
羹に懲りてなますを吹いちゃうと、こういう形式にこだわるセキセントリックな奴になっちゃうんだろうね
2017/05/03(水) 16:30:05.97ID:QAOFniPk
>>30
サンプルと言うことが理解できないバカ w
43デフォルトの名無しさん
垢版 |
2017/05/03(水) 16:36:15.72ID:0sDWrHda
ID:QAOFniPk と言う無職
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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