「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part131
http://mevius.5ch.net/test/read.cgi/tech/1504861931/
■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://mevius.5ch.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: checked:vvvvv:1000:512:----: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part132
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ (ワッチョイ 1e9a-XSap)
2017/10/09(月) 19:00:56.93ID:Y4203ffV0302デフォルトの名無しさん (ブーイモ MM5d-xxCr)
2017/10/18(水) 12:35:54.11ID:uKmp6sxaM >>290
氏名と性別を持ってるクラスのListにしたほうがいいよ
氏名と性別を持ってるクラスのListにしたほうがいいよ
303デフォルトの名無しさん (ブーイモ MM5d-xxCr)
2017/10/18(水) 12:36:22.87ID:uKmp6sxaM >>301
書いてあったw
書いてあったw
304デフォルトの名無しさん (ガックシ 06eb-dPak)
2017/10/18(水) 13:54:21.47ID:M3PcmRrI6 クラスと構造体の使い分けを教えてくれ
305デフォルトの名無しさん (アウアウオー Sa63-Ubfa)
2017/10/18(水) 13:58:44.93ID:pBm/jvOsa >>304
処理を付加したかったり読み書き制限したりしたかったらクラスと言うか、構造体でできることはクラスで全部できるからあえて構造体を選ぶ場面は少なくないか
処理を付加したかったり読み書き制限したりしたかったらクラスと言うか、構造体でできることはクラスで全部できるからあえて構造体を選ぶ場面は少なくないか
306デフォルトの名無しさん (ブーイモ MM33-/a6Q)
2017/10/18(水) 14:30:35.20ID:YSC60BKkM >>304
win32api呼び出す時以外は使い道ないかも。
win32api呼び出す時以外は使い道ないかも。
307デフォルトの名無しさん (ワッチョイ 797e-lqEX)
2017/10/18(水) 17:29:04.28ID:jNhOnQNR0 別に構造体でないとPInvokeできないということはないはずだが
StructLayoutはクラスのレイアウトも制御できるわけで
StructLayoutはクラスのレイアウトも制御できるわけで
308デフォルトの名無しさん (ワキゲー MM63-jVcz)
2017/10/18(水) 17:49:30.20ID:J95CPfXbM ポインタじゃなくて構造体のコピー寄越せって関数とか
309デフォルトの名無しさん (スッップ Sd33-yUCo)
2017/10/18(水) 17:54:28.88ID:MMY2jKS6d >>304
十分小さい時は構造体の方がパフォーマンスがいい
十分小さい時は構造体の方がパフォーマンスがいい
310デフォルトの名無しさん (ワッチョイ 93b3-meYy)
2017/10/18(水) 17:54:33.85ID:GswCLlj60 >>304
C/C++連携かパフォーマンス最適化か
1. Microsoft (2008)
1) It logically represents a single value, similar to primitive types (int, double, etc.).
2) It has an instance size under 16 bytes.
3) It is immutable.
4) It will not have to be boxed frequently.
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/choosing-between-class-and-struct
2. Effective C# 2nd(2010)
1) Is the main responsability of the type data storage?
2) Is its public interface defined entirely by properties that access or modify its data members?
3) Are you sure your type will never have subclasses?
4) Are you sure your type will never be treated polymorphically?
3. とあるStackOverflowの回答
1) You use structs for performance when stored in arrays.
2) You need them in code passing structured data to/from C/C++
3) Do not use structs unless you need them:
https://stackoverflow.com/a/598268
C/C++連携かパフォーマンス最適化か
1. Microsoft (2008)
1) It logically represents a single value, similar to primitive types (int, double, etc.).
2) It has an instance size under 16 bytes.
3) It is immutable.
4) It will not have to be boxed frequently.
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/choosing-between-class-and-struct
2. Effective C# 2nd(2010)
1) Is the main responsability of the type data storage?
2) Is its public interface defined entirely by properties that access or modify its data members?
3) Are you sure your type will never have subclasses?
4) Are you sure your type will never be treated polymorphically?
3. とあるStackOverflowの回答
1) You use structs for performance when stored in arrays.
2) You need them in code passing structured data to/from C/C++
3) Do not use structs unless you need them:
https://stackoverflow.com/a/598268
311デフォルトの名無しさん (JP 0H45-FHy3)
2017/10/18(水) 18:14:03.46ID:f/O0/ZtAH >>304
明らかにその場で使い捨てなら構造体
明らかにその場で使い捨てなら構造体
312デフォルトの名無しさん (ワッチョイ f117-B6a6)
2017/10/18(水) 18:23:14.37ID:a0tZ3XvZ0 16バイト以下なら構造体
313あ (スフッ Sd33-b3d+)
2017/10/18(水) 18:24:25.72ID:9gwGUiRxd >>304
ゼロ初期化で良いものでshort3つとか小さいものは、クラスより遥かに軽いので、万の桁で呼ぶなら構造体にする。
あとGCで回収させずに、メソッド終わったら即捨てたいものとか。これもそのメソッドを頻繁に呼ぶ時に。
小さい構造体はヒープではなくてスタックに置かれて、抜けたら無くなるので効率とかより、GCが呼ばれてる暇がなくてもちゃんと開放される。
よく使うのは、挙がってるの以外だと描画周りに使う事ある。
ちなみに、処理を付加すると言うか、メソッド生やすのは拡張メソッドで無理が効くようになったから、関数載せたい、でも関数の参照持たせたくない!もかなりなんとかなる。
ゼロ初期化で良いものでshort3つとか小さいものは、クラスより遥かに軽いので、万の桁で呼ぶなら構造体にする。
あとGCで回収させずに、メソッド終わったら即捨てたいものとか。これもそのメソッドを頻繁に呼ぶ時に。
小さい構造体はヒープではなくてスタックに置かれて、抜けたら無くなるので効率とかより、GCが呼ばれてる暇がなくてもちゃんと開放される。
よく使うのは、挙がってるの以外だと描画周りに使う事ある。
ちなみに、処理を付加すると言うか、メソッド生やすのは拡張メソッドで無理が効くようになったから、関数載せたい、でも関数の参照持たせたくない!もかなりなんとかなる。
314デフォルトの名無しさん (ワッチョイ 13d2-yFSE)
2017/10/18(水) 22:59:59.74ID:K9flraWY0 値っぽいやつは構造体
315デフォルトの名無しさん (ワッチョイ 4d80-eNpY)
2017/10/19(木) 06:04:01.12ID:eqdHlWFS0 ふと思ったのですが、メソッドで匿名型クラスのインスタンスを返すことってできますか?
返すことができるなら返り値の型になんて書けばいいのでしょうか?Typeはだめでした
返すことができるなら返り値の型になんて書けばいいのでしょうか?Typeはだめでした
316デフォルトの名無しさん (ワッチョイ 4d80-kA64)
2017/10/19(木) 07:15:50.96ID:8WeFWhTb0 あえていうならdynamicだけどメソッド超えるなら匿名型は諦めよう
317デフォルトの名無しさん (JP 0H85-YDAE)
2017/10/19(木) 08:07:39.54ID:hoxSwRGJH 今ならタプル返せばよい
318デフォルトの名無しさん (アウアウカー Sadd-XCQz)
2017/10/19(木) 09:32:28.99ID:mqSZ6mSda C#の絵本第2版出てるな
319デフォルトの名無しさん (ワッチョイ 951e-gcVe)
2017/10/20(金) 02:56:07.82ID:iR2BGy9F0 文字列型のIdプロパティも持つクラスHogeのリストList<Hoge>からIdのカンマ区切りの文字列を求めたいのですが、
普通にやると
string.join(",", items.Select(i => i.Id));
とループが2回走るんですが、これをLINQか何かで1回のループで求められるでしょうか??
普通にやると
string.join(",", items.Select(i => i.Id));
とループが2回走るんですが、これをLINQか何かで1回のループで求められるでしょうか??
320デフォルトの名無しさん (ワッチョイ f97f-YV9n)
2017/10/20(金) 03:17:26.49ID:InyPVBX00 >>319
string.JoinにIEnumerable<string>渡してるから、そのままでループは1回になるんじゃないか
string.JoinにIEnumerable<string>渡してるから、そのままでループは1回になるんじゃないか
321デフォルトの名無しさん (ワッチョイ ce9d-IrI6)
2017/10/20(金) 03:50:32.91ID:PY8ywvH80 自分でループまわして連結すればいいんじゃないか
322デフォルトの名無しさん (ワッチョイ 951e-gcVe)
2017/10/20(金) 04:34:32.44ID:iR2BGy9F0323デフォルトの名無しさん (ワッチョイ 951e-gcVe)
2017/10/20(金) 04:36:29.82ID:iR2BGy9F0 ああ。Selectでループ回らないか。
324デフォルトの名無しさん (ワッチョイ ddb3-hp5j)
2017/10/20(金) 05:12:35.17ID:NH12zMgi0 vb.netを何年か使って仕事してたのですが、c#に移行していくことになったのでc#の学習を始めようと思っているのですが、おすすめの書籍はありますか?
325デフォルトの名無しさん (ワッチョイ 4e8a-sQMv)
2017/10/20(金) 06:26:42.31ID:2DRMxDJ60326デフォルトの名無しさん (ワンミングク MM8a-VeCH)
2017/10/20(金) 06:38:32.06ID:l3SzA2hHM 実戦で役立つC#のイディオムなんちゃら
割とよかった
基本をサッと把握するにはこれで良いと思う
基本を抑えたらCLR via C#とか読むべき
dotnet coreならマイクロソフトのドキュメントかな
アップデートが速すぎて本が出ない
割とよかった
基本をサッと把握するにはこれで良いと思う
基本を抑えたらCLR via C#とか読むべき
dotnet coreならマイクロソフトのドキュメントかな
アップデートが速すぎて本が出ない
327デフォルトの名無しさん (ワッチョイ ddb3-hp5j)
2017/10/20(金) 07:08:41.55ID:NH12zMgi0328デフォルトの名無しさん (ワッチョイ 4e8a-sQMv)
2017/10/20(金) 07:29:07.74ID:2DRMxDJ60 >>327
正直最初の一冊は好きなの選べばいいよ
それで足りないと思ったらここを含めてお勧めされてる本をレビューなんかで評価の高い順に読めばいい
どの本の内容があんたに合ってるかはあんたにしかわからんのだから
正直最初の一冊は好きなの選べばいいよ
それで足りないと思ったらここを含めてお勧めされてる本をレビューなんかで評価の高い順に読めばいい
どの本の内容があんたに合ってるかはあんたにしかわからんのだから
329デフォルトの名無しさん (ワッチョイ 558a-v8AD)
2017/10/20(金) 09:14:18.94ID:zf8EG0F60 誤植がない本がいいよ
C#始めた頃に買った入門本で、「なんでこうなるんだろう・・・」と嵌まって時間浪費したことがある
誤植に気づけるまでのレベルなら流せる問題が、一言一句読み解きながら進めてるときに
誤植にあたると学習コストが無駄に跳ね上がる
まぁ、読む前にそれを気づくのは至難の業だから、評価高い本と初版避けることくらいしか方法ないけど
C#始めた頃に買った入門本で、「なんでこうなるんだろう・・・」と嵌まって時間浪費したことがある
誤植に気づけるまでのレベルなら流せる問題が、一言一句読み解きながら進めてるときに
誤植にあたると学習コストが無駄に跳ね上がる
まぁ、読む前にそれを気づくのは至難の業だから、評価高い本と初版避けることくらいしか方法ないけど
330デフォルトの名無しさん (アウアウエー Sa22-WQ16)
2017/10/20(金) 12:43:09.38ID:l+99Dkv9a >>324
VB何年かやってたなら@ITの記事を一通り斜め読みするだけでも十分でしょ
VB何年かやってたなら@ITの記事を一通り斜め読みするだけでも十分でしょ
331デフォルトの名無しさん (ドコグロ MMb5-RYXs)
2017/10/20(金) 12:45:00.04ID:RDZrWMpbM332デフォルトの名無しさん (アウアウオー Sae2-jbpI)
2017/10/20(金) 13:02:30.91ID:kQTzxkDwa この業界歴史が浅いから本が必ず正しいことを言っているとは限らない点も注意だな
長くたって結局将棋とか過去の棋譜を使わないほうが強くなったらしいし
未来は自分で切り開くんだよend
長くたって結局将棋とか過去の棋譜を使わないほうが強くなったらしいし
未来は自分で切り開くんだよend
333デフォルトの名無しさん (JP 0H35-D22/)
2017/10/20(金) 13:10:28.70ID:Qvu1f4hHH ここで聞くのは一番やっちゃいけないことだと思う
334デフォルトの名無しさん (アウアウオー Sae2-jbpI)
2017/10/20(金) 13:25:54.62ID:kQTzxkDwa >>333
じゃあ、オススメを貼れよグズ
じゃあ、オススメを貼れよグズ
335デフォルトの名無しさん (ブーイモ MMbe-wzbS)
2017/10/20(金) 14:00:27.64ID:QjnViytCM336デフォルトの名無しさん (アウアウオー Sae2-jbpI)
2017/10/20(金) 14:08:15.33ID:kQTzxkDwa337デフォルトの名無しさん (ブーイモ MMbe-wzbS)
2017/10/20(金) 14:08:31.02ID:QjnViytCM >>334
StackOverflow英語版かな?
StackOverflow英語版かな?
338デフォルトの名無しさん (ブーイモ MMbe-wzbS)
2017/10/20(金) 14:14:34.61ID:QjnViytCM339デフォルトの名無しさん (アウアウオー Sae2-jbpI)
2017/10/20(金) 14:27:12.08ID:kQTzxkDwa340デフォルトの名無しさん (アウアウオー Sae2-jbpI)
2017/10/20(金) 14:31:27.58ID:kQTzxkDwa 具体的には処理フローを出力したい
reflectionでやれればそれでもいいし
ソースの文字列から構文木的なものを返してくれるならそれでもいいし
reflectionでやれればそれでもいいし
ソースの文字列から構文木的なものを返してくれるならそれでもいいし
341デフォルトの名無しさん (ブーイモ MMbe-wzbS)
2017/10/20(金) 14:35:43.81ID:QjnViytCM >>339
Roslyn関連のライブラリって構文解析してくれるんじゃないの?
Roslyn関連のライブラリって構文解析してくれるんじゃないの?
342デフォルトの名無しさん (ブーイモ MMbe-wzbS)
2017/10/20(金) 14:41:43.45ID:QjnViytCM >>340
それ、初心者スレで聞く内容かw.
それ、初心者スレで聞く内容かw.
343デフォルトの名無しさん (アウアウオー Sae2-jbpI)
2017/10/20(金) 14:53:31.10ID:kQTzxkDwa344デフォルトの名無しさん (ブーイモ MMbe-wzbS)
2017/10/20(金) 15:41:21.62ID:QjnViytCM >>343
解決かw
解決かw
345デフォルトの名無しさん (アウアウオー Sae2-jbpI)
2017/10/20(金) 15:52:51.14ID:kQTzxkDwa >>344
いや、まだわかんない
いや、まだわかんない
346デフォルトの名無しさん (スップ Sd7a-86sF)
2017/10/20(金) 16:00:55.66ID:+VbZElimd 偉そうなこと言っときながらRoslynも知らないとはwww
347デフォルトの名無しさん (ブーイモ MMbe-wzbS)
2017/10/20(金) 16:06:52.51ID:QjnViytCM >>346
c#の追っかけしてるファンじゃないと知らんわ
c#の追っかけしてるファンじゃないと知らんわ
348デフォルトの名無しさん (アウアウオー Sae2-jbpI)
2017/10/20(金) 16:11:32.61ID:kQTzxkDwa349デフォルトの名無しさん (ブーイモ MMbe-wzbS)
2017/10/20(金) 16:26:31.24ID:QjnViytCM >>348
グーグル先生の5番目のご神託にでるが
グーグル先生の5番目のご神託にでるが
350デフォルトの名無しさん (ガックシ 06ee-G561)
2017/10/20(金) 16:28:33.99ID:3KJGg1dF6 VSで使われてるコンパイラだろ?そんなの俺でも知っとるわ。
351デフォルトの名無しさん (アウアウオー Sae2-jbpI)
2017/10/20(金) 16:44:44.00ID:kQTzxkDwa352デフォルトの名無しさん (ワッチョイ 7ad2-86sF)
2017/10/20(金) 17:00:35.99ID:dPxZWMqc0 構文解析に興味を持つようなやつがRoslynすら知らないとは
353デフォルトの名無しさん (スップ Sd7a-86sF)
2017/10/20(金) 17:01:23.38ID:gEmQ2eLHd >>347
じゃあ構文解析なんて無理だから諦めた方がいいよ
じゃあ構文解析なんて無理だから諦めた方がいいよ
354デフォルトの名無しさん (アウアウイー Sa45-0GSP)
2017/10/20(金) 17:04:37.96ID:MLgxPClpa 初心者スレでロズリン知らないのと叩く滑稽さ
355デフォルトの名無しさん (ワッチョイ ddb3-0MKJ)
2017/10/20(金) 17:05:34.41ID:umJD7f7O0 ヒストリカルに字句解析と構文解析が何故分かれているのか疑問に感じるバカは多いと思う。
俺もバカの一員として分けなくてもエエやん?と思い実際に作ってみたら、何故分かれているのか体感したという。
俺もバカの一員として分けなくてもエエやん?と思い実際に作ってみたら、何故分かれているのか体感したという。
356デフォルトの名無しさん (ブーイモ MMbe-wzbS)
2017/10/20(金) 17:08:58.31ID:QjnViytCM >>353
なんでオレに言うかw
なんでオレに言うかw
357デフォルトの名無しさん (ワッチョイ ddb3-0MKJ)
2017/10/20(金) 17:10:01.08ID:umJD7f7O0 忙しい現代社会。
すぐレスしてくれそうだからではないか。
すぐレスしてくれそうだからではないか。
358デフォルトの名無しさん (アウアウオー Sae2-jbpI)
2017/10/20(金) 17:19:16.72ID:kQTzxkDwa359デフォルトの名無しさん (ガックシ 06ee-G561)
2017/10/20(金) 18:30:23.02ID:3KJGg1dF6 なに作ってるの?
360デフォルトの名無しさん (アウアウオー Sae2-jbpI)
2017/10/20(金) 18:44:07.33ID:iVvWVDwWa >>359
処理フロー作成ツール
処理フロー作成ツール
361デフォルトの名無しさん (ワッチョイ 3a19-wzbS)
2017/10/20(金) 19:39:37.53ID:XWAUmrTl0362デフォルトの名無しさん (アウアウオー Sae2-jbpI)
2017/10/20(金) 19:49:32.49ID:BrAKv0lza >>361
それも考えたんだけど
自宅にexcelってないんだよね
なんで文字と図形と線を出力できるような簡単なベクトルデータってないんけ?
と思ったら笑っちゃうぐらい無くてさ
とりあえず画像データでええかー
的な
機械的に処理フローを
描画するc#のコードを吐き出して
画像で保存
それも考えたんだけど
自宅にexcelってないんだよね
なんで文字と図形と線を出力できるような簡単なベクトルデータってないんけ?
と思ったら笑っちゃうぐらい無くてさ
とりあえず画像データでええかー
的な
機械的に処理フローを
描画するc#のコードを吐き出して
画像で保存
363デフォルトの名無しさん (ワッチョイ 3a19-wzbS)
2017/10/20(金) 19:52:26.05ID:XWAUmrTl0 >>362
XPS, SVG, PostScript知らんのんけ?
XPS, SVG, PostScript知らんのんけ?
364デフォルトの名無しさん (ワッチョイ ddb3-PpjE)
2017/10/20(金) 19:55:44.74ID:HK8N625v0 まあC#でやるならXPSでいいな
365デフォルトの名無しさん (アウアウオー Sae2-jbpI)
2017/10/20(金) 20:01:09.91ID:BrAKv0lza366デフォルトの名無しさん (ワッチョイ a59a-0GSP)
2017/10/20(金) 20:02:30.25ID:VNKX5uBs0 ここは初心者の質問スレです
雑談したいのなら他へ行ってください
雑談したいのなら他へ行ってください
367デフォルトの名無しさん (ワッチョイ 3a19-wzbS)
2017/10/20(金) 20:05:52.61ID:XWAUmrTl0368デフォルトの名無しさん (アウアウオー Sae2-jbpI)
2017/10/20(金) 20:05:56.74ID:BrAKv0lza じゃあ、最後、svgならincscapeでいけんだね
こいつ日本語扱えた覚えがないからスルーしてたけど
時代は変わったのかとりあえずフォーマット知らねーけどやってみるわ
こいつ日本語扱えた覚えがないからスルーしてたけど
時代は変わったのかとりあえずフォーマット知らねーけどやってみるわ
369デフォルトの名無しさん (ワッチョイ ddb3-0MKJ)
2017/10/20(金) 20:07:44.87ID:umJD7f7O0 末尾に#どう思いますか?という行を付け加えれば質問風に雑談できるのでは?
370デフォルトの名無しさん (ワッチョイ 3a19-wzbS)
2017/10/20(金) 20:14:20.09ID:XWAUmrTl0 >>366
質問してこの流れを変えればええのだ
質問してこの流れを変えればええのだ
371デフォルトの名無しさん (ワッチョイ c575-G561)
2017/10/20(金) 20:19:36.38ID:QPjbx7Pr0 おまえ、なんかウザいから氏んでくれ。
372デフォルトの名無しさん (ブーイモ MM71-wzbS)
2017/10/20(金) 20:23:46.20ID:bKuGhauuM373デフォルトの名無しさん (ドコグロ MM9a-RYXs)
2017/10/20(金) 20:35:27.08ID:36f4Sv1zM374デフォルトの名無しさん (ワッチョイ 4e8a-/wYC)
2017/10/20(金) 20:51:02.95ID:vd2jZWHS0 いつまでスレチ続けるんだクズども
375デフォルトの名無しさん (アウアウオー Sae2-jbpI)
2017/10/20(金) 20:56:22.63ID:BrAKv0lza376デフォルトの名無しさん (ワッチョイ c575-G561)
2017/10/20(金) 21:08:47.27ID:QPjbx7Pr0 >>372
slip見て自演バレバレ
slip見て自演バレバレ
377デフォルトの名無しさん (ワッチョイ 5596-kdd6)
2017/10/20(金) 22:46:03.30ID:h+e+zHrd0 >>375
御託はいいから新小岩駅に行ってNEXに飛び込んで死ね
御託はいいから新小岩駅に行ってNEXに飛び込んで死ね
378デフォルトの名無しさん (アウアウオー Sae2-jbpI)
2017/10/21(土) 04:38:43.15ID:J3/Oov/oa379デフォルトの名無しさん (ワッチョイ 9a2c-Wcai)
2017/10/23(月) 09:42:48.16ID:iZTfc9Gp0 プロパティとメソッドの使い分けってどうするのです?
例えばクラスが持ってるリストの件数を返すCountとか、ある項目が存在するかどうかを返すIsItemExistとか
こういうのはプロパティかメソッドかどっちで実装するのです?
例えばクラスが持ってるリストの件数を返すCountとか、ある項目が存在するかどうかを返すIsItemExistとか
こういうのはプロパティかメソッドかどっちで実装するのです?
380デフォルトの名無しさん (ブーイモ MM71-wzbS)
2017/10/23(月) 09:58:16.86ID:WjGqLCS1M >>379
クラスの内部状態を返すのならプロパティでしょ。
クラスの内部状態を返すのならプロパティでしょ。
381デフォルトの名無しさん (ワッチョイ 7ad2-86sF)
2017/10/23(月) 10:13:47.78ID:zzY32qse0 DIでInjectしたServiceは、フィールドに保持する?それともプロパティに保持する?
どっちも見かけるから、皆さんどういう風に使い分けてるかなと
どっちも見かけるから、皆さんどういう風に使い分けてるかなと
382デフォルトの名無しさん (アウアウオー Sae2-7O3d)
2017/10/23(月) 10:47:51.67ID:UXX8AsCPa 困ったら全部getなんちゃらでメソッドにしちゃえばいいじゃん(適当)
Isなんちゃらはプロパティでね、大抵
Isなんちゃらはプロパティでね、大抵
383デフォルトの名無しさん (ワッチョイ a106-/wYC)
2017/10/23(月) 10:50:57.14ID:ebDYa8pU0384デフォルトの名無しさん (ブーイモ MM71-wzbS)
2017/10/23(月) 10:57:06.62ID:WjGqLCS1M MSが自動実装プロパティなんて作るから
385デフォルトの名無しさん (ワッチョイ fad2-6Di8)
2017/10/23(月) 11:15:16.91ID:UZkZRiTF0 IsItemExistって何だよ…噓だろ…
386デフォルトの名無しさん (スッップ Sd9a-86sF)
2017/10/23(月) 11:33:35.62ID:Y7RvEsYBd >>383
ありがとう
ありがとう
387デフォルトの名無しさん (アウアウオー Sae2-7O3d)
2017/10/23(月) 12:29:52.29ID:UXX8AsCPa388デフォルトの名無しさん (ブーイモ MMe9-w7ou)
2017/10/23(月) 12:42:32.30ID:UiLH3I11M >>387
動詞が2つ有るって言いたいのだろう。
動詞が2つ有るって言いたいのだろう。
389デフォルトの名無しさん (アウアウオー Sae2-7O3d)
2017/10/23(月) 13:06:11.13ID:UXX8AsCPa390デフォルトの名無しさん (アウアウエー Sa22-WQ16)
2017/10/23(月) 13:11:49.28ID:ZgE4a7c5a391デフォルトの名無しさん (アウアウイー Sa45-U5aN)
2017/10/23(月) 13:17:00.15ID:JL5vrncla なんか突っ込みどころが多すぎて
登場人物全部抜けてる気がする
File.Exists メソッド
String.IsNullOrEmpty メソッド
登場人物全部抜けてる気がする
File.Exists メソッド
String.IsNullOrEmpty メソッド
392デフォルトの名無しさん (アウアウエー Sa22-WQ16)
2017/10/23(月) 13:23:02.70ID:ZgE4a7c5a393デフォルトの名無しさん (ワッチョイ 9a27-WNZk)
2017/10/23(月) 14:52:16.08ID:Hm5Sp4K20 >>379
原則状態はプロパティ、動作がメソッド
ただし、利用者はプロパティはループ毎にキャッシュせず読んでもいいくらいに軽い処理だと考える場合があるので、時間がかかるならメソッドにしたほうがよいかも
原則状態はプロパティ、動作がメソッド
ただし、利用者はプロパティはループ毎にキャッシュせず読んでもいいくらいに軽い処理だと考える場合があるので、時間がかかるならメソッドにしたほうがよいかも
394デフォルトの名無しさん (ワントンキン MM8a-VeCH)
2017/10/23(月) 19:30:33.33ID:TFf0LeB2M プロパティはもちろん取得系のメソッドも何度も呼んでいいよ
実測した結果、遅くなってると分かったらキャッシュを導入する
パフォーマンスだけのために説明変数を追加するのはNG
実測した結果、遅くなってると分かったらキャッシュを導入する
パフォーマンスだけのために説明変数を追加するのはNG
395デフォルトの名無しさん (ワッチョイ c575-G561)
2017/10/23(月) 19:34:24.82ID:HemzWECS0 説明変数とは
396デフォルトの名無しさん (ワッチョイ 55a8-kdd6)
2017/10/23(月) 19:50:51.54ID:+URhnDB80 聞きかじりで理解した気になってるからこういう
397デフォルトの名無しさん (ササクッテロル Sp85-Wcai)
2017/10/23(月) 20:07:22.56ID:IDuIqN9Mp >>396
初心者スレでマウントとりたいだけのバカは邪魔なのでわんくまにでも行ってどうぞ
初心者スレでマウントとりたいだけのバカは邪魔なのでわんくまにでも行ってどうぞ
398デフォルトの名無しさん (ワントンキン MM8a-VeCH)
2017/10/23(月) 20:10:22.51ID:TFf0LeB2M399デフォルトの名無しさん (ワッチョイ bab3-DBD/)
2017/10/23(月) 20:35:02.50ID:y4/LHG7i0 - IsItemExitsはHasItemに
- Existsは引数を取るので基本メソッド
- IsNull、IsEmpty, HasValue等の問い合わせ系は悩ましいので選択基準を規約で決めておく
問い合わせ系については引数不要で十分チープなら
.NET Frameworkでは基本的にプロパティが使われている
ただメソッドにしないといけないケースも少なからずあるので
個人的にはメソッドに統一しといたほうがいいと思ってる
https://msdn.microsoft.com/en-us/library/ms229054(v=vs.100).aspx
- Existsは引数を取るので基本メソッド
- IsNull、IsEmpty, HasValue等の問い合わせ系は悩ましいので選択基準を規約で決めておく
問い合わせ系については引数不要で十分チープなら
.NET Frameworkでは基本的にプロパティが使われている
ただメソッドにしないといけないケースも少なからずあるので
個人的にはメソッドに統一しといたほうがいいと思ってる
https://msdn.microsoft.com/en-us/library/ms229054(v=vs.100).aspx
400デフォルトの名無しさん (ブーイモ MMbe-U5aN)
2017/10/23(月) 20:35:25.45ID:VIpRDakhM 回帰分析とかで説明変数って聞くけど他じゃあまり聞かない
401デフォルトの名無しさん (ブーイモ MMbe-U5aN)
2017/10/23(月) 20:39:21.38ID:VIpRDakhM HasItemってどんなときつかうんだろうか
もしそれがコレクションならContain使うよ
引数ないならプロパティって暴論あるけど
もしそれがコレクションならContain使うよ
引数ないならプロパティって暴論あるけど
■ このスレッドは過去ログ倉庫に格納されています
