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

■ このスレッドは過去ログ倉庫に格納されています
2017/07/18(火) 06:40:45.47ID:mH9qbH+m0
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

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

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part129
http://mevius.2ch.net/test/read.cgi/tech/1497000961/

■関連スレ
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/07/30(日) 15:06:27.30ID:/FPaeL7f0
>>159
そんなvb坊みたいな期待してたら減点
2017/07/30(日) 15:06:34.85ID:bPp21s/fM
でもさ、ソモソモなんで型分けてるかと言うと
消費する容量が違うからじゃないの?

バリアント型って結構デカイとかないの?
例えばbyteで済むならbyteの方がよくね?
2017/07/30(日) 15:11:52.74ID:/FPaeL7f0
>>161
違うよ
型ってのはあくまで気分なんだよ
厳密に定義したらわかりやすいし
でも厳密にし過ぎると使いにくい

マシンみたいなPGにはこんなもん必要ない
メモリ上にはアドレスと実際の値
それしかない
そこになんのデータを入れてるかなんて知ったこっちゃない
2017/07/30(日) 15:15:39.29ID:r8KQ5Iv4a
何言ってるのか意味不明だね
2017/07/30(日) 15:18:29.06ID:/FPaeL7f0
>>163
まあ、c言語とかアセンブラやんないとわかんないと思う
2017/07/30(日) 15:42:06.12ID:P5Qwr2jWd
気分だな。unionとか使い出すともう本当どう扱いたいかの気分でしかない。
浮動小数点と巨大整数と、それらのテンソルの型作ったことあるけど、SIMD的な命令として流し込むためにバラバラにしたりしやすいように都合よく書いてた覚えがある。
2017/07/30(日) 16:04:34.61ID:ZiKC4drW0
>>161
C#に限った話なら
byteはSystem.Byte構造体のエイリアスだし、
intはSystem.Int構造体のエイリアスだから
当然、消費するメモリ容量に差は出るが

大昔ならいざ知らず、現代のマシン環境において
そこまでメモリ容量を切り詰めて考えなきゃならん場面なんざ、そうそうねえよ
メモリを節約したきゃ、変数のスコープや生存期間を見直した方がいい
2017/07/30(日) 16:15:05.92ID:/FPaeL7f0
型を厳密にしたいかどうかだな
仕事で設計書書いて実装してるときは
varとか邪魔だし
2017/07/30(日) 16:39:12.40ID:9HwmeiiRM
CLRの型はVMレベルで実装されていて、気分で扱えるのはbittableな値型だけだよ
それ以外はメタデータを含んでてアホなことするとAccessViolationException
2017/07/30(日) 17:56:10.49ID:QVOgnQhb0
C#はどこもかしこもvar推奨だぞ
数値計算以外はvarでええやろ
2017/07/30(日) 18:15:04.88ID:reLfmDHf0
今まで型厳密に書いてたけど、var推奨だったのか・・・
2017/07/30(日) 18:19:11.77ID:/FPaeL7f0
>>169
さすがにvar推奨は見たことないな
禁止は結構見る
2017/07/30(日) 18:19:12.89ID:0Cb6dJF4M
推奨してるかしらんけど
varの方が見やすい
2017/07/30(日) 18:20:22.83ID:J6wXHp7uM
右辺を見て明確な場合はな
全体を見渡す力のない俺は使うとしてもローカル変数までにしとかなきゃ死ぬ
2017/07/30(日) 18:20:43.69ID:/FPaeL7f0
>>172
var unk = GetUnko();
の型を追跡するの面倒じゃね?
2017/07/30(日) 18:22:58.28ID:/FPaeL7f0
印刷はあんまりしないけどブロックで取り出したときにIDEが無いと読めないんだよね
2017/07/30(日) 18:24:40.67ID:ZiKC4drW0
パッと見で型が明確な場合は、varで問題無いと思ってる
varで訳が分からなくなるなら、メソッドを肥大化させ過ぎという意見も理解は出来る

しかし、それはそれとして
型名をきちんと書くのが手癖として身に付いてしまってるのだ
2017/07/30(日) 18:26:42.51ID:DlHK/Glf0
>>174
GetUnko()がUnko型を返さないのならそれは命名がおかしくね?
2017/07/30(日) 18:29:34.45ID:/FPaeL7f0
>>177
インターフェースってそういうもんだってさ
2017/07/30(日) 18:50:20.73ID:0Cb6dJF4M
型が目に見えたら何かメリットあるの?
全ての型のAPIと振る舞いを覚えてるならともかく普通覚えてないよね
public UnkoNagashi() {
Unko unko = unkodb.GetUnko();
unko.Nagasu();
unkodb.SaveUnko(unko);
}
というコードをみてなるほどunkoはUnko型なのかとわかる
でもUnko型がNagasu()以外に何をできるかは僕は知らない
そしてこの文脈ではNagasu()以外の振る舞いを知る必要もない
だったらそれって型名を書く意味あるの?
unkoがNagasu()できる事だけ知ってればいいよね
それはコードがコンパイルできる事から自明でしょ
2017/07/30(日) 18:58:07.04ID:xsWXBNij0
ここ初心者の質問スレなんだよ
質問でなく議論したいなら
ふらっと C#,C♯,C#(議論用)
http://mevius.2ch.net/test/read.cgi/tech/1469538912/
でやれよ
2017/07/30(日) 18:58:57.54ID:/FPaeL7f0
unk.FermentationShit();
182デフォルトの名無しさん (アウアウカー Safb-yXEd)
垢版 |
2017/07/30(日) 19:06:43.78ID:/Qu7y73ua
>>174
デジャブかな?
もう何回みたことか。。つーか毎回言われてると思うけどカーソルあてるのそんな面倒か?
2017/07/30(日) 20:39:56.83ID:QVOgnQhb0
>>171
MSのオープンソースプロジェクトは殆どvar推奨だぞ
どんなときも使える限りvar使えって言ってる

https://github.com/dotnet/roslyn/blob/master/.editorconfig
2017/07/30(日) 20:46:54.11ID:dej2VYm/d
>>171
いつの時代の話だよwww
2017/07/30(日) 21:37:31.57ID:ynobldaf0
var に拒否反応示してるのは老害だけだろ
自動的に型名に置き換えてくれるだけなのにな
2017/07/30(日) 22:03:52.72ID:YWZp07X/a
>>171
var禁止なんて見たことがないから参考までに教えてほしい
2017/07/30(日) 22:07:36.28ID:hMQywZRx0
>>186
わざとvarってクラスを作って型推論を阻止するやつらがいるとかなんとか
2017/07/30(日) 22:16:53.75ID:J6wXHp7uM
>>185
ホントに害なの?
2017/07/30(日) 22:22:32.05ID:/FPaeL7f0
>>182
1000行あるうち300行そんなのがあったら300回当て無いといけないんだぜ
2017/07/30(日) 22:35:12.83ID:J6wXHp7uM
>>189
1000行ものメソッドを作る時点で設計を見直そう
2017/07/30(日) 22:40:01.38ID:Pvq5DEUn0
>>189
1/3が変数宣言って前提に無理があるのでは?
2017/07/30(日) 22:42:42.77ID:hMQywZRx0
>>189
当てなきゃわかんないようなやつがそんなにある時点でクソ
2017/07/30(日) 22:43:59.63ID:/FPaeL7f0
>>190
トータルとはいってない
2017/07/30(日) 22:47:13.08ID:/FPaeL7f0
>>191
結構あるぜ
でもここで考えて欲しいのは
そもそもvarなんて使わなければ当てる必要などないということ
当てなければ読めないソースと
当てなくても読めるソースのちがいしかない
2017/07/30(日) 22:47:50.56ID:J6wXHp7uM
>>193
や、だからメソッド単体で1000行だったら何かしら設計あぶないっての
2017/07/30(日) 22:53:22.17ID:Pvq5DEUn0
自分はなんでもvarは使わない派
右辺見ればわかるときだけ使うからマウスカーソル当てる必要もない

var list = new List<int>();
こういうのも気に入らないの?
2017/07/30(日) 22:56:46.57ID:RXgrd63BM
>>194
その前に考えるべきことは
型を読めないと全体が読めないメソッドなど書くべきではないということ
そもそも型を読まなくてもいいならvarを使わない理由を考える必要などない
2017/07/30(日) 22:57:08.87ID:uiXc0u2O0
プリミティブ型以外は全部varだわ
2017/07/30(日) 22:57:14.29ID:/FPaeL7f0
>>195
メソッド1個しか読まねーわけじゃねーじゃん
じゃあ30万行のコードのプロジェクトがあって1万行もvarがあったら
1万回もマウスの素振りすんだぞオメー

単純に害にしかならないと思う
varを本来の型に1発変換できるリファクタリングができればえーけどね
2017/07/30(日) 23:01:58.42ID:hMQywZRx0
>>199
しねーよアホ
当てなきゃわかんない書き方がクソなんだよ
2017/07/30(日) 23:04:19.66ID:/FPaeL7f0
>>200
それをアホにわかるように説明するのが難しい
なので一律でvar禁止が楽

これを禁止で困る奴がこの世にいない
2017/07/30(日) 23:11:55.64ID:RXgrd63BM
var禁止はめちゃ困るわ
いちいち書かなくてもいい型を書いてたら手が疲れるじゃん
単純に文字数が多いだけでも読みにくくなるし最悪
2017/07/30(日) 23:16:40.71ID:QVOgnQhb0
C#2.0で止まってる老害結構いるやろ
LINQ禁止すらあるんやろ
2017/07/30(日) 23:18:15.40ID:hMQywZRx0
>>201
Microsoftのコーディング規則に違反するってツッコミには何も反応せずにオレオレ理論かよ
2017/07/30(日) 23:18:42.38ID:X0A6ZRSXM
>>201
俺は型を明示するタイプだがvarを否定はしない
限られた区域内で扱われる分にはとても効果的だと思ってる
2017/07/30(日) 23:19:44.46ID:ZiKC4drW0
>>205
大体の人はそんなもんだよね
2017/07/30(日) 23:22:03.74ID:FlO7tdYLa
またアルルハイマーどものが繰り言言い合ってるのか。

繰り言を楽しく感じる奴は比喩じゃなく本当に病気だからマジでまずは精神科で
診てもらった方がいいよ。これ本当にそう思う。
重症化してからではもう遅い。
2017/07/30(日) 23:22:49.91ID:/FPaeL7f0
>>204
誰が言ったかを強調するやつとまともに話をする気はない
それにMSなんて後5年持たない
どうでもいい
2017/07/30(日) 23:24:28.64ID:5An4udmXd
>>208
5年もたないワロタwwwお前なんでこんなところいるんだよwww
2017/07/30(日) 23:25:50.29ID:brVl3K5IM
>>208
MSが死んだらC#も確実に消滅するんだからその仮定は意味を持たない
2017/07/30(日) 23:26:14.44ID:hMQywZRx0
>>208
C#はMSの技術だろカス(標準化されてるけど)
お前がMSのことをどう思っていようがC#を使う以上無視はできねーよ
2017/07/30(日) 23:27:37.46ID:DlHK/Glf0
荒らしは無視しとけ
2017/07/30(日) 23:29:59.21ID:QVOgnQhb0
MSがオワコン=C#オワコンなんだよなぁ
2017/07/30(日) 23:32:35.03ID:6NpzZP8L0
なんか発狂してるな
逆鱗に触ったの誰だよ
爆弾抱えて心中しろ
2017/07/30(日) 23:34:22.18ID:YWZp07X/a
varが問題になる局面ってなかなか出てこない
2017/07/30(日) 23:35:35.52ID:RXgrd63BM
このスレ時々タイムスリップしたのかと思う時があるな
オープン化してるし万に一つマイクロソフトが死んでもC#は残るよ
マイクロソフトが死んでもメンテナは死なん
2017/07/30(日) 23:37:42.31ID:ZiKC4drW0
C#という言語仕様は残るかも知れんけど
VisualStudioが死んだら、C#も実質的に心中する様なもんだと思う
2017/07/30(日) 23:37:58.76ID:QVOgnQhb0
開発止まったら言語としては遅れって死ぬだろ
マニア向け言語でいいなら構わんが
2017/07/30(日) 23:42:49.87ID:mbPMaYUG0
言語の細かい仕様なんてこだわらないのが吉
2017/07/30(日) 23:44:33.48ID:RXgrd63BM
>>217
VSCodeもオープンだしジェットブレインもある
C#専門の奴ってWin & VS以外の環境知らなすぎだろ
2017/07/30(日) 23:45:42.69ID:brVl3K5IM
言語なんて結局は大企業のちょっとした判断であっという間に消えるよ
最近だとGoogleがKotlinをAndroidで公式にサポートすると言っただけでScalaコミュニティが一瞬で消滅したな
2017/07/30(日) 23:47:17.22ID:hMQywZRx0
>>220
まー仮にVisualStudioとC#が死ぬようなことがあれば、代替となるものが既に広まってるだろうからね
2017/07/30(日) 23:49:24.59ID:C1KCpBV+d
>>221
既存の膨大な資産を活かしたままC#から移行できるものってあるかい?
2017/07/30(日) 23:49:32.61ID:bK1p862G0
>>199
リファクタリングのAnalyzer作ればいいじゃん
今はRoslyn使えるんだから簡単に作れるでしょ
2017/07/30(日) 23:56:59.50ID:5BNl8sGvM
>>199
スコープって知ってる??
2017/07/30(日) 23:57:41.82ID:QVOgnQhb0
VSとVSCodeはぜんぜん違うだろ
C#なんてVSのために言語仕様変えるレベルだから
2017/07/31(月) 00:00:04.10ID:h2jxQj0O0
C#とVSは表裏一体
C#の開発が止まればVSの開発も止まる逆も然り
2017/07/31(月) 00:01:10.38ID:XvxSzU+d0
>>203
LINQはDB接続時に使うもの、varはvariant型だから禁止な我社環の悪口はやめてもらおうか
コードレビューの相手がそれだからどうにもならんわ
2017/07/31(月) 00:02:59.49ID:VY/jm5nF0
>>228
そんなところでしか仕事できないなら君もその程度だよ
230デフォルトの名無しさん (ワッチョイ bea2-ZO1u)
垢版 |
2017/07/31(月) 00:11:11.92ID:wJdn/lI60
2.0のコードレビューはさすがに草
技術者殺し過ぎ
2017/07/31(月) 00:18:37.03ID:DV1tFwon0
>>208
5年もったら裸で土下座な。
232デフォルトの名無しさん (ワッチョイ 0fcf-7WXr)
垢版 |
2017/07/31(月) 00:41:53.98ID:1WKiBOmM0
Youtuberヒカルが月収を明らかに!!おはよう朝日です出演
https://www.youtube.com/watch?v=RLZGrqQnnZc
第1回案件王ランキング!YouTuberで1番稼いでるのは誰だ!
https://www.youtube.com/watch?v=asF2wQ2xhjY&;t=61s
ユーチューバーの儲けのカラクリを徹底検証!
https://www.youtube.com/watch?v=FUSb4erJSXE&;t=504s
【給料公開】チャンネル登録者4万人突破記念!YouTuberの月収公開!
https://www.youtube.com/watch?v=Y7DAQ0RKilM&;t=326s
誰も言わないなら俺がYouTuberのギャラ相場を教えます
https://www.youtube.com/watch?v=E4q-vaQh2EQ&;t=118s
YouTuberになりたいのは馬鹿じゃない!YouTuberになる方法
https://www.youtube.com/watch?v=Fr0WXXZRMSQ

最高月収5000万円だとさ。年収じゃなくて「月収」な
おまえらもyoutubeに動画投稿したほうがいい
顔出したくないならラファエルみたいに仮面かぶればいい
手っ取り早く視聴数稼ぐにはシバターみたいな有名ユーチューバーへの物申す系動画がオススメ
2017/07/31(月) 02:08:13.61ID:zMEC1oHaa
アルツハイマーの次はコピペマンか
2017/07/31(月) 03:35:45.71ID:R/uMHXjN0
次は電波だ
2017/07/31(月) 10:40:39.13ID:YA8bpliG0
varでいいなら全部varにする派なのでこういう議論は少し新鮮に感じる
2017/07/31(月) 11:14:16.15ID:WEBeqjzhd
>>235
Microsoft自身がそうしてるもんな
2017/07/31(月) 11:56:10.60ID:86vv5j6EM
すでに3回目ぐらいの話題で毎回全く内容が変わらんので新鮮もクソもない
2017/07/31(月) 12:34:38.89ID:l4LMfIaPd
MSもプロジェクトによっては
newみたいな明示的なとき以外var使うなって言ってる
まぁこの辺は好みもあれば運用するプログラマのレベルによるね
底へばかりならルールは厳しくせざるを得ない
2017/07/31(月) 14:34:54.95ID:Ml/7cMLZd
>>238
あいにくvarを使えないほどの底辺と一緒に仕事をする機会がないのでね
2017/07/31(月) 15:10:32.64ID:tEgR4ggYM
あいにくvarを乱用するほどの底辺と一緒に仕事をする機会がないのでね
2017/07/31(月) 15:14:52.06ID:kd2vQWK4M
バカって整数の符号とかオーバーフローとかを意識しないバカのこと?
2017/07/31(月) 15:17:52.03ID:Ml/7cMLZd
>>240
>>183
2017/07/31(月) 15:38:05.10ID:Em37aLWP0
varで書けば書くほどクラスの使用箇所がわけわからなくなりそう
IDEのクラスの参照でvarを見つけてくれるんだろか?
やっみりゃいいんだけど
2017/07/31(月) 15:45:45.43ID:pHkT1Msv0
>>243
var を使ったことないのが分かっちゃうよ
2017/07/31(月) 16:15:44.58ID:Em37aLWP0
>>244
で、どうなん?
今、IDE起動するの超面倒臭い
2017/07/31(月) 18:21:27.34ID:/DHTAviId
>>243
codelens無いの?
2017/07/31(月) 19:14:39.65ID:Ml/7cMLZd
>>243
またお前か
VisualStudioすら触ったことなかったのかよ
2017/07/31(月) 20:01:09.57ID:pHkT1Msv0
たぶんVBの人で、var = Variant 型と思い込んじゃってるんだろうな
2017/07/31(月) 20:06:51.60ID:W4UbSJlHM
>>248
コード書かないタイプのSE多い
varはVBのVariantと同じで型情報が消えるので禁止
スクリプト言語と同じになってしまいます
真顔で言われた時はいったいどうしようかと思ったよ
2017/07/31(月) 20:15:21.98ID:oDbItPw6M
>>238
> MSもプロジェクトによっては
> newみたいな明示的なとき以外var使うなって言ってる
どこで言ってるんだ?
脳内じゃないならソースよろ
2017/07/31(月) 20:17:08.93ID:amyeNTRe0
>varを使うか使わないか
初心者用スレで宗教戦争すんなよお前ら
2017/07/31(月) 20:49:24.98ID:zJD0yoJE0
荒らしに触るお前らも同罪
2017/07/31(月) 21:30:48.83ID:Ml/7cMLZd
>>250
スレ読み返せアホ
2017/07/31(月) 21:31:39.38ID:Ml/7cMLZd
>>253
安価ミスったwww俺まで頭おかしくなったわ
2017/07/31(月) 22:07:59.92ID:1Jpq7793a
初心者のみなさんは積極的にvarを使いましょう

MSも使えるときは使えって言ってるしヘルプでもvar使ってる
2017/07/31(月) 22:46:30.23ID:Em37aLWP0
>>255
文字列検索で引っかからんのは頂けんな
2017/07/31(月) 23:35:56.79ID:3zcgc/j+0
頂かなくて良いから死ね
2017/07/31(月) 23:47:05.77ID:tHHdzIHP0
文字列検索よりCodeLensの方が便利。
2017/07/31(月) 23:55:32.54ID:JdXkXzvI0
var[] array = {};
こーゆうのできゆる?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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