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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9e9f-LwdJ)
垢版 |
2018/10/04(木) 18:56:38.41ID:JnxMNCXd0
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part139
https://mevius.5ch.net/test/read.cgi/tech/1533466544/
■コードを貼る場合は↓を使いましょう。
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
567デフォルトの名無しさん (アウアウイー Sa2d-4yv2)
垢版 |
2018/11/17(土) 17:58:49.17ID:bZFmP2aXa
>>562
無理だろう
リンクを開いたら『かっぱ寿司』のCMだった
寿司は握れない
2018/11/17(土) 18:03:29.40ID:rc62Vrp5a
>>566
勘違いさせてしまったようだが、これを作れるレベルの人なら言語の選択なんか全くどうでもいい些細な問題だという意味だぞ
GUIが一通り使えて3Dのレンダリングができるなら作れるっちゃ作れる
569デフォルトの名無しさん (ワッチョイ 3e67-sNvt)
垢版 |
2018/11/17(土) 18:10:45.85ID:eS8uuMhZ0
であれば向いているのは、pythonよりはc#ということになりますか?(ただのイメージですが)
2018/11/17(土) 18:25:34.63ID:tg8QC7+S0
openGLなら素直にCとかC++使った方がいいとは思う
できるできないじゃなくて初心者なら単純に調べ易さが大事やろ
571デフォルトの名無しさん (ワッチョイ 3e67-sNvt)
垢版 |
2018/11/17(土) 18:28:18.79ID:eS8uuMhZ0
c#でdirectxやopenGlを使うのは一般的ではないということでしょうか?
cとかc++は超難易度が高いと聞くのでどうなのかなと思ってました
2018/11/17(土) 18:31:24.61ID:/a1P+H3qM
C#ならUnity3D使えばいい
できるどころではなく、現代において3Dプログラミングをするなら最も初心者が入りやすい選択だ
2018/11/17(土) 18:38:39.23ID:tg8QC7+S0
>>571
最近は知らないけどあくまでC/C++用ライブラリのラッパーがあるだけだから
変なところでつまづく可能性あるのがつまんないじゃん
実装が中途半端だったりするのもあるから
webに転がってるサンプルがそのまま動いた方が楽やろ
C/C++は深みはまれば無限の闇だけどシンプルに使う分にはなにも難しくない
だって大半のプログラマはCから入ってるんだし
Unityは全く知らんからその辺は別の人に
574デフォルトの名無しさん (ワッチョイ 3e67-sNvt)
垢版 |
2018/11/17(土) 18:41:57.34ID:eS8uuMhZ0
>>572
あくまで1から作ってみたかったので
後ゲームエンジンはgodot使ってたりします

>>573
じゃあCから入ってみます
2018/11/18(日) 10:42:50.75ID:PoFSPoaKa
asp.net core 2.1 MVCの検証属性
Javaだと検証属性にgroupsを設定できるのだがasp.net coreには同等の機能は存在しない?
2018/11/18(日) 11:57:32.69ID:ve9l0Wxid
>>575
具体的に何がしたいの?
2018/11/18(日) 12:12:56.71ID:PoFSPoaKa
>>576
押したボタンによって検証定義を変えたいのだけど検証のグルーピングって他に使い道あったっけ?
2018/11/18(日) 12:18:03.17ID:XN88gtNzM
>>577
諦めてFluent Validationとか使えば
2018/11/19(月) 05:43:43.79ID:r5HrKoSb0
コーディングしてて思うけど変数名とかつけるのがめちゃ難しい
dataとかinfoとか抽象的で何を指してるのかわからんようにならないように
意を示すような単語を探したいが探しきれない

csvファイルを読み込んだバイナリデータを受けとる変数名とかstreamって名前にすべきなのか?
2018/11/19(月) 07:18:33.39ID:bSg94FGhM
>>579
日本語のカタカナのアルファベット表記でよい
お前の脳みそがなんの辞書も持ち合わせていない雑魚だった場合
全クラスの全変数の数分その都度エキサイト翻訳にかける工数が必要になる
1000個以上あればもちろん1000回以上だ
つまり、雑魚なお前はそのくだらん作業で工数の大半を食い潰す
日本語アルファベット表記で妥協しろ
2018/11/19(月) 07:47:24.91ID:SGbs8fwRa
>>579
変数名で悩む前にスコープを短くすればいいのでは?
2018/11/19(月) 08:00:47.12ID:OxHzXIEP0
>>579
変数名は変数管理台帳に登録してあるのしか使っちゃだめだよ
2018/11/19(月) 08:05:33.08ID:hJCk5pq9M
業務データを扱ってて直感的に理解したいときには変数名を日本語にしてる。
エディタ操作面で色々不便だけど。
2018/11/19(月) 09:00:57.18ID:IHvfubsWd
こんな争いも起きるしね
https://github.com/dotnet/corefx/issues/33553
2018/11/19(月) 09:13:29.97ID:E9Vggb2iM
名前以前にそもそもパブリックメンバにタプル使うなってガイドラインがあったはずだけど、もうMS自身が破って解禁されちゃうのか
引数のデフォルト値なんかも当初はパブリックメンバには禁止だったはずだけどMSが平然と無視し始めて完全に形骸化したね
2018/11/19(月) 09:33:40.04ID:KXf7P7MS0
>>585
TupleとValueTuple混同してないか?
2018/11/19(月) 11:10:29.95ID:E9Vggb2iM
>>586
https://docs.microsoft.com/en-us/dotnet/csharp/tuples
> Even so, they are most useful for utility methods that are private, or internal.
> Create user-defined types, either class or struct types when your public methods return a value that has multiple elements.
2018/11/19(月) 12:00:00.99ID:IHvfubsWd
>>585
ちゃんとリンク先読んだ?
2018/11/19(月) 12:25:52.05ID:fArXgqhAa
>>579
自分で書いているように抽象的な名前であることが可読的でない原因。
そうであればベタベタに具体的な名前を付ければいいでしょう

例えばアップルの株価ならstockPriceOfAppleとか

必要もないのに冗長な名前を付けることはないけど
必要ならたとえローカルでも長い名前を付けることを躊躇してはいけないと個人的には思う
2018/11/19(月) 12:32:35.67ID:wcZZ2xz30
IEnumerableの変数名は散々迷った挙げ句に複数形にしちゃうけど、良い名称あるのかな
2018/11/19(月) 12:41:02.88ID:llK6EUKu0
>>582
職業ノンプロだけど、変数管理台帳とかまじであるの?
2018/11/19(月) 12:41:57.85ID:llK6EUKu0
ちなみに日本語変数とか、一般的な企業のコーディング規約で引っかからない?
2018/11/19(月) 12:43:33.18ID:zfAWS6U+M
扱うデータの複数名をつけるけど
スコープ短い汎用的な変数名なら
list, items, resultsあたりをよく使う
2018/11/19(月) 13:44:29.92ID:eViuowHop
>>591
組み込み系からやってる会社なら必需品だぞ。
2018/11/19(月) 14:54:04.03ID:5ovmWsrD0
goは変数名短くて楽
2018/11/19(月) 15:58:15.07ID:xnCC+WkJM
>>594
ローカル変数とかも??
2018/11/19(月) 18:02:20.58ID:FVlkObn9d
初心者だけど、変数を引数に渡した先の変数名はいつも困る。
2018/11/19(月) 18:20:18.21ID:llK6EUKu0
>>597
アンスコ付けとけ
2018/11/19(月) 18:21:10.13ID:eViuowHop
>>596
当たり前だろ。
スタックサイズの計算に必要なんだから。
2018/11/19(月) 18:29:32.97ID:IHvfubsWd
>>594
なぜ?
2018/11/19(月) 19:01:01.30ID:2DWiAtf3a
>>579
>csvファイルを読み込んだバイナリデータを受けとる変数
はstring配列やbyte配列だと思うけど
固有の型へすぐ変換するだろうから、その短い間ならdataなどでいいんじゃないか
個人的にはstreamという変数名ではSystem.IO.Stream型だと思ってしまう
2018/11/19(月) 20:04:15.35ID:JjCiYhkEM
>>591
当然だろ。プロジェクトを示す3桁のアルファベットと5桁の数字で構成される変数名しか使えない。
2018/11/19(月) 20:30:54.04ID:Wy1p2BEz0
SEIがそうだったな…
2018/11/19(月) 20:48:07.07ID:q9mHg/N90
変数を管理大腸でうんこでた
2018/11/19(月) 21:33:53.01ID:p0KmRpJRd
オープンクローズの原則ってファクトリーパターン実装していたら拡張側は知らず知らずの内に実現していた...??
2018/11/19(月) 23:37:56.35ID:h32vib960
Guid.NewGuid()で生成したIDが幸運にも重複してシステムをバグらせた人いますか?
2018/11/19(月) 23:47:06.98ID:miDxs9F80
ねーよ
2018/11/20(火) 02:05:47.13ID:+fOoRbBp0
マーフィーの法則発動
2018/11/20(火) 07:48:29.05ID:8DsnvWPe0
var禁止の会社でうっかりvar使ったのいっぱい書いちゃったのだが一括でなおす方法ってある?
ちなVS2010
2018/11/20(火) 07:57:26.72ID:kdpbOy6R0
new deleteの呪縛から解放されたと思ったのもつかの間、
今度は簡略化し過ぎて気づかないopen closeの罠が沢山散りばめられたw
2018/11/20(火) 19:25:54.22ID:oZWGPYxPM
>>609
ctrl+h
2018/11/21(水) 03:58:49.62ID:egIEZrm6a
禁止する理由ってなに
2018/11/21(水) 04:03:21.33ID:7eNzoDu+0
>>612
Java信者
2018/11/21(水) 04:04:10.28ID:7eNzoDu+0
…が時代に取り残された腹いせ
2018/11/21(水) 21:09:33.00ID:JLIdSz/ja
ここに書いたらコードレビュー誰かしてくれる?
616デフォルトの名無しさん (ワッチョイ 3903-k2K5)
垢版 |
2018/11/21(水) 21:12:12.58ID:JM/nMfDs0
>>615
レビューしてやってもええけどどのくらい率直に言ってもええんや?
メンタル強い方か?
2018/11/21(水) 21:19:03.07ID:OrJlxNWN0
>>615
ここの住人はマウンティングするだけだからやめておけ
2018/11/21(水) 21:53:36.32ID:9cx/wCEp0
>>615
そういうのは質問じゃないんだから相談室でやってくれ
2018/11/21(水) 22:17:28.28ID:61i9o8Bqd

おまんこ
620デフォルトの名無しさん (ワッチョイ 3903-k2K5)
垢版 |
2018/11/21(水) 23:20:39.67ID:JM/nMfDs0
よく言った
2018/11/23(金) 09:21:25.95ID:Z6RMu5t9d
string.Format などで使う {0} みたいなのよ呼び方って「プレースホルダー」で合っていますか?
2018/11/23(金) 09:29:06.81ID:w9GMx5b20
うん
623デフォルトの名無しさん (ワッチョイ d3a5-ylOc)
垢版 |
2018/11/23(金) 09:37:10.04ID:ApOE6+zI0
C#はJavaみたく1ファイル/1クラスじゃないけど
皆さんどうしてます?
短いクラスがいくつかあるとき1つのファイルにまとめます?
なんかファイルが多いと読みにくくなるような気もするし
分かれてる方が分かりやすいって人もいるのかな?
2018/11/23(金) 09:37:27.77ID:Z6RMu5t9d
>>622
ありがとうございます
2018/11/23(金) 09:41:35.57ID:w9GMx5b20
>>623
試行錯誤しながら開発してる時は同じファイルに複数クラス書いて、後からバラす
インターフェイスと実装クラスが一対一で、かつ量が大したことない場合はひとつにまとめたり
2018/11/23(金) 09:43:27.05ID:OqByd5h70
>>623
基本的にはフォルダ分別だけど、json受信用とかのフィールド定義だけなら1ファイルにまとめちゃうかな。可読性が上がる。
2018/11/23(金) 10:04:34.96ID:o5J4ZB2+a
>>623
俺は仕事なら余計な裁量入れるのが面倒だから機械的に1ファイル1クラス
個人的に開発するときは自分が見やすい程度に纏めることもある
628デフォルトの名無しさん (ワッチョイ d3a5-ylOc)
垢版 |
2018/11/23(金) 10:13:21.65ID:ApOE6+zI0
基本は1ファイル/1クラスで
まとめるのは特別な事情ってのが多数なのかな
ありがとうございました
2018/11/23(金) 10:17:56.37ID:w9GMx5b20
あとはEnumとその拡張メソッド定義クラスとかもまとめるかな
2018/11/23(金) 11:33:34.05ID:OqByd5h70
1ファイル1クラスって見積の事情じぁあねーだろな?
2018/11/23(金) 11:52:12.06ID:IXAfq7SI0
VSからクラスやインターフェース作成すれば1クラス1ファイルが基本だと判ると思うけど
2018/11/23(金) 11:56:31.89ID:X4mqBgACd
>>631
そういうことを質問してるんじゃないだろ
2018/11/23(金) 13:00:59.52ID:OqByd5h70
>>630
まあこれは半分冗談なんだけどさ、リファクタリングしてコード短くしたら見積もり下がるじゃねーかと先輩に怒られたとかそーゆう話をネットで見たことがあるのでね。高くするためにファイル数増やしてるなんてことない?って話
2018/11/23(金) 14:33:15.86ID:gLExdUeZ0
Javaのような糞みたいなことするなよ
2018/11/23(金) 17:16:23.44ID:X4mqBgACd
>>633
LOCでの見積もりはわかるが、ファイル数ってのは初めて聞いた
2018/11/23(金) 17:24:55.54ID:2ha96jMkd
>>635
ファイル数増やせばヘッダーにテンプレコメント書いたりして結果的に行数増やせるってことじゃないかな?
2018/11/23(金) 17:49:16.87ID:+XjaJ0Hq0
ファイル名とクラスが対にしとかないと保守がめんどうだね
2018/11/23(金) 18:00:34.54ID:X4mqBgACd
>>636
LOCってわかるかい?
2018/11/23(金) 18:02:59.51ID:X4mqBgACd
>>637
なんで?
2018/11/23(金) 18:05:29.93ID:t3Fo6DVq0
>>638
コメント以外だって増やせるよね?そんなとこ気にすんの?w
2018/11/23(金) 18:06:39.95ID:X4mqBgACd
>>640
具体的には何?
それを見積もりの根拠としてカウントするものなんだよね?
2018/11/23(金) 18:11:36.90ID:t3Fo6DVq0
>>641
usingもnamespaceも使わないの?
どんな小さなclassだってそれなりの規模の中に入れればそれなりの行数消費する
class辺りの最低行数を上げれば見積もりだってあがるだろ?
こんな細かく説明必要なの?こんなどうでもいい内容で?
2018/11/23(金) 18:16:17.28ID:X4mqBgACd
>>642
usingやnamespaceごときが見積もりに有意な影響を与えるようなプロジェクトなんかやったことなくてごめんね
2018/11/23(金) 18:39:43.75ID:OqByd5h70
闇が深そうだ
2018/11/23(金) 18:58:12.49ID:4Tv+Pn+t0
言い負かされて悔し紛れの捨て台詞 w
誰のこととは言わないけど
2018/11/23(金) 19:15:37.38ID:+XjaJ0Hq0
>>639
そのほうがSCM上扱いやすい
ファイル一覧からクラス探しやすい
conflictマージが楽
プロジェクトチーム内でPG毎に好き勝手にやると一貫性がなくなる
といったところかな
とはいえ結合の強いクラスとかパラメーター系のクラスは一緒にするけども
2018/11/23(金) 19:26:33.26ID:EY7/YwthM
>>646
> そのほうがSCM上扱いやすい
理由が書いてない

> ファイル一覧からクラス探しやすい
IDE使ってないのか?

> conflictマージが楽
変わらんと思う

> プロジェクトチーム内でPG毎に好き勝手にやると一貫性がなくなる
予め決めればいいだけじゃないの?
2018/11/23(金) 19:35:28.46ID:+XjaJ0Hq0
>>647
じゃあ1ファイルにする合理的な理由はなに?
2018/11/23(金) 19:43:31.36ID:4Tv+Pn+t0
>>648
別に1ファイルにしろなんて誰も言ってないと思うが…
適当にまとめた方が扱いやすいだろって話な
2018/11/23(金) 20:38:29.58ID:t3Fo6DVq0
そもそもコード量で見積もりするようなプロジェクトやったことないけど
namespaceやusingって独自でフレームワークレベルまで全部構築するような大きい案件のほうが無駄に行数稼げそうだなーって感覚

そもそも見積もり上での影響の大きさなんか話題になってないよね
どうでもいい糞ルールで売上1%あがりましたー、みたいな話じゃん
広い世の中、そんな案件もあるんじゃないかなー?って思っただけでなんでこんな噛みつかれるんだ?
2018/11/23(金) 22:26:33.78ID:IbCsJ+Md0
ちっちゃいやつはインナークラスにしちまうな
2018/11/24(土) 01:25:32.45ID:3tDW2ZIed
>>651
それJavaじゃね?C#ならnested class
2018/11/24(土) 08:38:33.58ID:kuH8s62I0
ちゃんとした名称知ってる俺スゲーってか?
そこまでしてマウント取りたいものかね w
2018/11/24(土) 08:49:29.06ID:IRw8AAbl0
c#でもインナークラスと言って間違いちゃうよ
公式でもね
2018/11/24(土) 10:32:41.42ID:QDlc1GIX0
むしろnested classなんて聞いたことないわ
2018/11/24(土) 11:34:11.91ID:VBkVIhNza
Javaだとメソッド内でクラス定義できるからネストだと意味的に不自然なんだよ
2018/11/24(土) 12:05:57.96ID:WtZSNTCR0
>>655
Java屋さんいらっしゃい
2018/11/24(土) 13:19:32.37ID:QDlc1GIX0
>>652
>>657
こいつ多分勉強出来ないタイプ。
C#の関連書籍にはnestedclassなんて単語は出てこない。
更に用語で検索するとむしろjavaよりの言葉であることが判明。つまり、にわかの誤った認識でドヤ顔しちゃう可哀想な典型。以降スルー推奨
2018/11/24(土) 13:30:59.43ID:vw8dRG/XM
>>658
さすがに可哀想だから教えておくか
C#だとユーザー定義型はクラスだけじゃないから、用語としてはclassよりtypeが好まれるの
nested types でググってみ?
2018/11/24(土) 13:34:12.99ID:MaS7Khub0
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/nested-types
nested typeまたはinnerともかいてあるね
2018/11/24(土) 13:51:48.22ID:wRaDaS++0
>>653
被害妄想酷くない?
2018/11/24(土) 13:58:36.09ID:dVQ/sIVoM
ほんとマウンティングしかしない連中だな
2018/11/24(土) 14:32:36.02ID:kuH8s62I0
>>661
>>654-660見てもそれ言える? w
2018/11/24(土) 15:09:18.13ID:WtZSNTCR0
>>658
お前検索してないやろw
2018/11/24(土) 15:13:42.72ID:nuCJ8Tz/0
間違ったことに突っ込み入れて訂正して「マウンティング」とか無いわ
違ったこと言い続けるアホならともかくこの件は>>660で終わっているし
2018/11/24(土) 15:24:23.92ID:MaS7Khub0
だよな。普通に訂正、反論するだけでなんでもかんでもかんでもマウントはないよな。
喧嘩ごしでやってるならマウントって言ってもわかるけど。
だから>>652は別にマウントでもないな。まあ細かいとは思うが
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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