1 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 19:00:56.93 ID:Y4203ffV0.net] 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、 質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part131 mevius.5ch.net/test/read.cgi/tech/1504861931/ ■関連スレ C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net mevius.5ch.net/test/read.cgi/tech/1492843013/ ■コードを貼る場合は↓を使いましょう。 ideone.com/ https://dotnetfiddle.net/ ■情報源 https://msdn.microsoft.com/en-us/library/gg145045.aspx referencesource.microsoft.com/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
237 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 21:36:12.54 ID:rY47nFh2M.net] >>226 仕様が曖昧なときほどリファクタリングは有効だよ リファクタリングしてないと全く身動き取れない リファクタリングしてあれば暫定で進められる 確定したらごく僅かな工数で本実装に切り替え可能 仕様が確定するまでの待ち時間の金は誰が払うんだ? あれがこれが決まってないから進められないなんて泣き言は顧客は聞いてくれないぞ?
238 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 21:38:24.34 ID:rY47nFh2M.net] >>228 あ〜それは悪かった 専ブラだとスレタイが目に入らないんだよね オブジェクト指向スレかなんかと勘違いしてたわ
239 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 21:39:10.27 ID:BTwHB29Wa.net] そんなパッケージ販売みたいの視野に入れるなら ○○様向け読み込み処理とか すっげー勢いででき続けるけどな すでに動いてる部分をぶっ壊すなんて最早正気ではないな
240 名前:あ mailto:sage [2017/10/16(月) 21:39:22.24 ID:Qeq9VPfc0.net] 充分にモジュール化されてれば、可換な筈だからな。 それが仕様。 中身がどう変わろうが、口はUSBです。これも仕様。 口がどう変わろうが、テキストの電文でやりとりしてます。これも仕様。 どんなキーボード繋いでもHIDデバイスとして認識出来れば文字が打てます。そんなもん。 ボタンの改良でパソコン買い替えてたら世話無いだろ。
241 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 21:41:43.16 ID:BTwHB29Wa.net] >>237 でもね メモリだけ増やしたいなぁって思っても SSDにしたいなぁって思っても マザボごと全部交換必須 これが現実
242 名前:あ mailto:sage [2017/10/16(月) 21:41:47.00 ID:Qeq9VPfc0.net] >>236 パッケージ売りするなら、で全然パッケージ売りしてねえじゃんw 普通は帳票パックとか売るんじゃねえの?ソフト屋って。 コストで悩むのは理解できるが、だから研究開発費なんだよ。
243 名前:あ mailto:sage [2017/10/16(月) 21:42:18.91 ID:Qeq9VPfc0.net] >>238 全然現実じゃなくない…? どんな商売してるの?
244 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 21:45:48.80 ID:z1iVQjyz0.net] バグだらけでリファクタリングできない頭の見本市がこちらです
245 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 21:45:59.06 ID:BTwHB29Wa.net] >>239 マジで 個別対応で金貰う商売だと思ってたぜ
246 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 21:46:37.96 ID:BTwHB29Wa.net] >>241 京都市とシステムズにも言ってやれ
247 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 21:48:06.53 ID:4cngaiV60.net] ワッチョイ!ワッチョイ!
248 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 21:49:20.03 ID:1MDONeW40.net] >>243 スレチだ死ね
249 名前:あ mailto:sage [2017/10/16(月) 21:49:50.50 ID:Qeq9VPfc0.net] >>242 なんで個別対応で金取れるかわかってる? 個別対応部分が可換だからだろ? 単に経験浅すぎて仕組みがわかってないだけだと思いたいな。
250 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 21:59:40.70 ID:BTwHB29Wa.net] >>246 いいけど すべての個別対応を一つのソースにぶち込みつつ保守してくって無理だと思うぜ 扱うデータ自体が違うのにインターフェースもクソもねーし
251 名前:あ mailto:sage [2017/10/16(月) 22:03:15.56 ID:Qeq9VPfc0.net] >>247 なんで一つのソースにしちゃうかな? インターフェイスが統一されてれば、違うソース、違うリポジトリで充分でしょ? 扱うデータが違うのに云々ってのは、コンテナ形式のファイル見たら皆がどうやって回避してきたか理解できると思うわ。 DICOMまでガチの話でもなく、tiffファイルのフォーマット眺めるだけで充分わかる。
252 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 22:05:59.28 ID:BTwHB29Wa.net] >>248 だからされねーだろ データが違うんだから 始点と幅と高さでもっても 中点と幅と高さでもっても 四角は四角なんだよ
253 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 22:07:30.95 ID:9dpoOU7Ld.net] >>249 スレチ死ねよ
254 名前:あ mailto:sage [2017/10/16(月) 22:12:07.91 ID:Qeq9VPfc0.net] >>249 内容に惑わされ過ぎだろ。 始点と幅と高さでできてる四角(四角A)と、中点と幅と高さで出来てる四角(四角B)であろうと、 ただのデータなんだから。 「四角」ってスーパークラス切り出して、「どちらかはわからんが、四角には変わりない。どっちかはそれぞれ読み手が考えるように。」ってデータ型を用意するのがリファクタリングだよ。 そしたら、図形ってデータ型が出来たり、面積のある図形ってインターフェイスが出来たりするだろうね。 typeof演算子の存在意義に疑問を持ってる類の人間なのかな。
255 名前:あ mailto:sage [2017/10/16(月) 22:13:13.51 ID:Qeq9VPfc0.net] インターフェイスについて突っ込まれそうだけど、シリアライズしてXMLにでもしときゃ、容量は食うだろうけど、C#でならだいたい何とかなる。
256 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 22:20:04.33 ID:BTwHB29Wa.net] >>251 あめーんだよ お前想像力がたんねーから インターフェースでなんでも対応できる気がすんだよ ちなみに中点、右幅、左幅、上幅、下幅指定は中点で回転するからその指定で回転角も付く 同じ四角だってすでに別もんの場合もある こういうのたくさんあり過ぎて現実にはインターフェースなんてなんの役にもたたねーだろ
257 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 22:30:15.71 ID:rY47nFh2M.net] インフラも依存性もないたかが四角形クラスでインターフェース否定した気になっちゃったの?
258 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 22:36:38.15 ID:BTwHB29Wa.net] >>254 じゃあ、さっきのネットワークからデータをとる話にしたってバカがインターフェースで対応できるとか言ってたけど 実際はデータ毎に取得日時も保存しておかないと 最新かどうかわからないよねw アホだからこんなもんで対応できると思うんやで
259 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 22:38:01.06 ID:1MDONeW40.net] >>255 いい加減キチガイは死ねよ
260 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 22:38:28.89 ID:JV3CytDXd.net] >>255 消えろカス
261 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 22:44:52.51 ID:BTwHB29Wa.net] >>256 ( ‘д‘⊂彡☆))Д´) パーン >>257 ( ‘д‘⊂彡☆))Д´) パーン (*゚∀゚)なんで殴られたか言ってみろ!
262 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 22:46:33.16 ID:HJ2RVhMCM.net] いったい何のスレなんだ?
263 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 22:46:57.67 ID:GvNya7OCd.net] >>258 死ね
264 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 22:58:47.99 ID:4cngaiV60.net] >>259 ID真っ赤な人を愛でるスレです
265 名前:デフォルトの名無しさん [2017/10/16(月) 23:04:07.75 ID:LTsOqA5h0.net] 伸びすぎだろ おまえらってこういう話題になるとイキイキするのな 会社ではモテない頼りない無能社員のくせに
266 名前:あ mailto:sage [2017/10/17(火) 00:34:03.66 ID:GZgPL7cm0.net] >>253 だから、統一できるコンテナフォーマットな形式のデータ入れに突っ込んでしまって、 必要な奴が必要な分だけパースするんよね。 ホントに実務経験あるの?甘くない? >>255 横からだけど「取得したデータ」は「取得した何か」を継承してたり、「取得した日付」を取得するインターフェイスがあれば充分でしょ。 無知でした、ごめんなさい。が言えるのもエンジニアとして大切だと思うが、いかがなもんかのう。
267 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 00:38:20.31 ID:cWqis51L0.net] >>263 キチガイに触んなすな
268 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 00:41:19.24 ID:EkZQ3MrW0.net] まだやってやがる 始発に飛び込んで死ねよ
269 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 00:45:14.10 ID:7pWr2cdn0.net] 死んでも、俺がザオリクを唱えてあげるからな
270 名前:デフォルトの名無しさん [2017/10/17(火) 01:10:49.63 ID:0KKPzkG80.net] スレチ指摘されても理解できない頭のヤツにリファクタリングの必要性説いてどうすんの
271 名前:あ mailto:sage [2017/10/17(火) 08:19:27.73 ID:kX2KiqXMd.net] 確かに。無駄に伸ばしてすまん。
272 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 19:01:31.69 ID:YbpTy6K90.net] 最近独学で勉強始めたんだけど難しすぎる… 自分で考えたり工夫する能力がないんだろうな 自分がやりたい事と全く同じサンプルが無いと何も出来ない みんなどうやって見につけたんだ? やっぱアホには無理なのかな
273 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 19:09:25.19 ID:exorZDFN0.net] >>269 できることからやればいい できないことをやろうとすると達成感が得られなくてやる気が無くなるループになる 自分の頭の中で必要な要件を切り分けられないものには手を出すな サンプルは全く同じものがあるはずがないので近いものを探す。一つだけでなくいくつも探す
274 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 19:34:46.70 ID:owv2SIUK0.net] >>269 c#ってかなり難しいと思うよ。 抽象的な概念がかなりある。 今は、ひたすら写経に励めよ。
275 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 19:36:25.48 ID:owv2SIUK0.net] c#がそれなりに使えるのには5年は掛かるね。 表面上使いこなせるのには他の言語を知ってりゃ3か月だ。
276 名前:あ mailto:sage [2017/10/17(火) 19:38:37.05 ID:GZgPL7cm0.net] >>269 やりたい事を初めて見た他人が代わりにできるくらいのメモにまとめて、それをコードに落としていけば良いんじゃない? 最初は言語の機能全部使う必要無いんだから。 そのうち、これ毎回書くな…とか思ったら、そういう機能があるかどうか調べたら良い。大体ある。
277 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 19:53:24.64 ID:YbpTy6K90.net] >>269 です レスありがとう 最近仕事で使うことになって人生初のプログラミングを経験中なんだけど何もかも分からないから質問も出来ないし、しても分からないし、何回か聞くともっと自分で考えてやれみたいな感じだから毎日悩みっぱなしだ 出来ることから地道にやれたら良いんだけど仕事だからなかなか厳しいね… とりあえず独習って本を読んだり試してまずは基礎をしっかり理解するようにしてる みんなもひたすらサンプルを書いたりして理解して行った感じなのかな
278 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 19:59:57.62 ID:U8+gWhs5r.net] C#難しいのかなあ? 自分はこんな便利なのか!と感動したけど
279 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 20:05:06.59 ID:Rn8Nldlma.net] >>274 作りながら覚える本のがいいよ 俺は まあ、人によるけど
280 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 20:33:03.63 ID:O+BDW8AjM.net] C++先にやっとけばC#は凄く簡単
281 名前:デフォルトの名無しさん [2017/10/17(火) 20:33:14.23 ID:FJCAd6676.net] C#が難しいってオブジェクト志向な設計が難しいってこと?
282 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 20:43:58.37 ID:Q467/Wh20.net] C#が難しいんじゃなくて、 オブジェクト指向が難しいとかプログラミング自体が難しいって話だな
283 名前:デフォルトの名無しさん [2017/10/17(火) 21:04:44.09 ID:0KKPzkG80.net] >>275 それは他言語経験者の感想やろ
284 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 21:30:09.12 ID:O+BDW8AjM.net] 初心者はC#のどこで躓くんだろう ラムダか?
285 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 21:50:31.65 ID:OjUPM8wm0.net] >>281 上の人は、C#特有の要素がどうこう以前に プログラミングその物で躓いてるからなあ 多言語経験者がC#特有の要素で躓くとしたら、デリゲートじゃないの
286 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 22:01:11.01 ID:opt3bdnY0.net] >>271 射精なら励んでるんだけど・・
287 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 22:02:28.67 ID:opt3bdnY0.net] >>274 おれも独学だけど、ここの人達は何だかんだで面倒見いいから、頼るといい。
288 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 22:22:32.10 ID:umFbfT/c0.net] 最初、文法だけを説明している入門書(猫でも〜)で勉強したけど 「インターフェース? 規約だけを定めたもの? 具体的に何の役に立つんだ?」 「構造体? クラスとどう使い分けるんだ?」 「デリゲート? C/C++の関数へのポインタみたいなもの? Cなんて知らんがな」 みたいな疑問が次々と湧くのに解決されないまま、文法の丸暗記だけしてる感があってしんどかった サンプルコードも、最低限の説明用のシンプルすぎるもので、実用性っぽいものが皆無だったし もう少し丁寧に解説してる本から始めればよかった
289 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 22:37:26.16 ID:YbpTy6K90.net] >>284 ありがとう 馬鹿だから質問すらなんて聞いて良いか分からないんだけどね 入門書みたいなのは何冊か読んだり試したりして、コード見ればぼんやりこういう事してるんだなっていうのは分かるんだけど、いざ自分で1からやろうと思うと何も書き出せなかったりする >>285 が言うようにこれが何に活きてくるんだ?っていうような疑問も沢山あるし… 実務だとアプリ作ってって仕様書渡されてデータベースから値をとって加工してグリッドに表示させたりとか、何かたった一行でも表示させるのに丸一日かかって結局分からないとかも多々ある 機転が利かないっていうか自分で考えてこういう風に組み替えたり応用したりしようってのが出来ない… 知識が付けば出来るようになるのかな 愚痴吐いてごめん 勉強してきます
290 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 23:06:15.45 ID:O+BDW8AjM.net] とりあえずデータベースとグリッドの事は忘れてコンソールアプリを作るべきだ 最近の若者は順序がめちゃくちゃ
291 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 23:26:36.50 ID:9CwiJQBWM.net] Webだと仕組みを理解すれば案外コンソールと変わんなかったりするけどね
292 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 23:49:29.75 ID:OjUPM8wm0.net] 「言語その物の機能」と 「外部の物にアクセスする手段」とは、分けて学習するべきだわな
293 名前:デフォルトの名無しさん [2017/10/18(水) 01:03:17.80 ID:3+TwrJNfa.net] 非常に申し訳ないんですがLINQの質問いいですか? インデックスが対応する二つの配列A、Bがあります Aには氏(string)、Bには性(bool)が入っていて 女性で田中が何人いるってのは、どう書けばいいですか?
294 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 01:10:27.98 ID:vo9W3JA50.net] >>290 A.Zip(B, (a, b) => new { a, b }).Where(ab => IsFemale(ab.b) && ab.a == "田中").Count(
295 名前:) [] [ここ壊れてます]
296 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 01:14:46.91 ID:BXrTaZiI0.net] >>285 「猫でもC#」は「スッキリわかる Java入門 第2版、2014」で、 オブジェクト指向を学んだ人向け 本当の素人には、向いていない
297 名前:デフォルトの名無しさん [2017/10/18(水) 01:27:09.70 ID:3+TwrJNfa.net] >>291 ありがとうございます 結構難しいですね。解読して勉強させて頂きます
298 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 02:39:15.39 ID:iR/4ihsX0.net] >>291 Whereいらない Countが条件節取れる
299 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 03:21:25.19 ID:x50wQsAO0.net] >>288 ASP.NET Coreはコンソールアプリだしね
300 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 04:11:05.14 ID:f/O0/ZtAH.net] >>293 A.Zip(B, (a, b) => new { a, b }) .Where(ab => IsFemale(ab.b) && ab.a == "田中") .Count() 改行するだけで随分理解しやすくなるはず A.Zip(B, (a, b) => new { a, b }) .Count(ab => IsFemale(ab.b) && ab.a == "田中") Where要らないの意味も解りやすくなるはず
301 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 06:16:24.19 ID:qUhUKvGj0.net] >>292 猫でもはどのシリーズも薦めない。
302 名前:デフォルトの名無しさん [2017/10/18(水) 07:51:54.79 ID:vI9phIcRd.net] >>286 上級者がどうやって作ってるかを見て、自分が思ったやり方と違う部分を見つけて意図を聞くのがいいかも まぁ相手が付き合ってくれることが前提だけど どのみち初学者の場合、学習曲線はある程度学んだ時点から一気に上昇するもんなので、最初はコツコツ疑問を潰すしかないよ
303 名前:デフォルトの名無しさん [2017/10/18(水) 07:54:10.74 ID:W+0BZmzB0.net] あと同じような内容でも入門書は評判の高い順に何冊か読んだ方がいい 自分に合った説明が一冊の中に全部詰まってる事なんてないから
304 名前:デフォルトの名無しさん mailto:sage釣 [2017/10/18(水) 08:19:01.99 ID:Uigi9MZrM.net] じゃ河西本やな
305 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 08:27:03.75 ID:DAWWUo8AM.net] >>290 name[100], age[100] みたいにデータを列持ちするのは現代的なプログラミングにおいては非常に悪い作法なので今すぐやめたほうがいい クラスを作って行単位で持つのが基本
306 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 12:35:54.11 ID:uKmp6sxaM.net] >>290 氏名と性別を持ってるクラスのListにしたほうがいいよ
307 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 12:36:22.87 ID:uKmp6sxaM.net] >>301 書いてあったw
308 名前:デフォルトの名無しさん [2017/10/18(水) 13:54:21.47 ID:M3PcmRrI6.net] クラスと構造体の使い分けを教えてくれ
309 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 13:58:44.93 ID:pBm/jvOsa.net] >>304 処理を付加したかったり読み書き制限したりしたかったらクラスと言うか、構造体でできることはクラスで全部できるからあえて構造体を選ぶ場面は少なくないか
310 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 14:30:35.20 ID:YSC60BKkM.net] >>304 win32api呼び出す時以外は使い道ないかも。
311 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 17:29:04.28 ID:jNhOnQNR0.net] 別に構造体でないとPInvokeできないということはないはずだが StructLayoutはクラスのレイアウトも制御できるわけで
312 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 17:49:30.20 ID:J95CPfXbM.net] ポインタじゃなくて構造体のコピー寄越せって関数とか
313 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 17:54:28.88 ID:MMY2jKS6d.net] >>304 十分小さい時は構造体の方がパフォーマンスがいい
314 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 17:54:33.85 ID:GswCLlj60.net] >>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
315 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 18:14:03.46 ID:f/O0/ZtAH.net] >>304 明らかにその場で使い捨てなら構造体
316 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 18:23:14.37 ID:a0tZ3XvZ0.net] 16バイト以下なら構造体
317 名前:あ mailto:sage [2017/10/18(水) 18:24:25.72 ID:9gwGUiRxd.net] >>304 ゼロ初期化で良いものでshort3つとか小さいものは、クラスより遥かに軽いので、万の桁で呼ぶなら構造体にする。 あとGCで回収させずに、メソッド終わったら即捨てたいものとか。これもそのメソッドを頻繁に呼ぶ時に。 小さい構造体はヒープではなくてスタックに置かれて、抜けたら無くなるので効率とかより、GCが呼ばれてる暇がなくてもちゃんと開放される。 よく使うのは、挙がってるの以外だと描画周りに使う事ある。 ちなみに、処理を付加すると言うか、メソッド生やすのは拡張メソッドで無理が効くようになったから、関数載せたい、でも関数の参照持たせたくない!もかなりなんとかなる。
318 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 22:59:59.74 ID:K9flraWY0.net] 値っぽいやつは構造体
319 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 06:04:01.12 ID:eqdHlWFS0.net] ふと思ったのですが、メソッドで匿名型クラスのインスタンスを返すことってできますか? 返すことができるなら返り値の型になんて書けばいいのでしょうか?Typeはだめでした
320 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 07:15:50.96 ID:8WeFWhTb0.net] あえていうならdynamicだけどメソッド超えるなら匿名型は諦めよう
321 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 08:07:39.54 ID:hoxSwRGJH.net] 今ならタプル返せばよい
322 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 09:32:28.99 ID:mqSZ6mSda.net] C#の絵本第2版出てるな
323 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 02:56:07.82 ID:iR2BGy9F0.net] 文字列型のIdプロパティも持つクラスHogeのリストList<Hoge>からIdのカンマ区切りの文字列を求めたいのですが、 普通にやると string.join(",", items.Select(i => i.Id)); とループが2回走るんですが、これをLINQか何かで1回のループで求められるでしょうか??
324 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 03:17:26.49 ID:InyPVBX00.net] >>319
325 名前: string.JoinにIEnumerable<string>渡してるから、そのままでループは1回になるんじゃないか [] [ここ壊れてます]
326 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 03:50:32.91 ID:PY8ywvH80.net] 自分でループまわして連結すればいいんじゃないか
327 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 04:34:32.44 ID:iR2BGy9F0.net] >>320 items.Select(i => i.Id) あれ、このSelectでもう1回ループまわる?? よくわかんなくなってきた
328 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 04:36:29.82 ID:iR2BGy9F0.net] ああ。Selectでループ回らないか。
329 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 05:12:35.17 ID:NH12zMgi0.net] vb.netを何年か使って仕事してたのですが、c#に移行していくことになったのでc#の学習を始めようと思っているのですが、おすすめの書籍はありますか?
330 名前:デフォルトの名無しさん [2017/10/20(金) 06:26:42.31 ID:2DRMxDJ60.net] >>324 Effictive C#とか 古いけど
331 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 06:38:32.06 ID:l3SzA2hHM.net] 実戦で役立つC#のイディオムなんちゃら 割とよかった 基本をサッと把握するにはこれで良いと思う 基本を抑えたらCLR via C#とか読むべき dotnet coreならマイクロソフトのドキュメントかな アップデートが速すぎて本が出ない
332 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 07:08:41.55 ID:NH12zMgi0.net] >>325 >>326 ありがとうございます。 基礎を理解するのに、独習C#かオライリーのC#の購入も検討していたのですが、その2冊についてはいかがでしょうか? あまり役に立たない様なら、おすすめいただいた3冊を購入してみようと思います。
333 名前:デフォルトの名無しさん [2017/10/20(金) 07:29:07.74 ID:2DRMxDJ60.net] >>327 正直最初の一冊は好きなの選べばいいよ それで足りないと思ったらここを含めてお勧めされてる本をレビューなんかで評価の高い順に読めばいい どの本の内容があんたに合ってるかはあんたにしかわからんのだから
334 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 09:14:18.94 ID:zf8EG0F60.net] 誤植がない本がいいよ C#始めた頃に買った入門本で、「なんでこうなるんだろう・・・」と嵌まって時間浪費したことがある 誤植に気づけるまでのレベルなら流せる問題が、一言一句読み解きながら進めてるときに 誤植にあたると学習コストが無駄に跳ね上がる まぁ、読む前にそれを気づくのは至難の業だから、評価高い本と初版避けることくらいしか方法ないけど
335 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 12:43:09.38 ID:l+99Dkv9a.net] >>324 VB何年かやってたなら@ITの記事を一通り斜め読みするだけでも十分でしょ
336 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 12:45:00.04 ID:RDZrWMpbM.net] >>329 そう言うのこそ なんでこうなるのだろう? って思った時にここで聞けばいいんじゃね?
337 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 13:02:30.91 ID:kQTzxkDwa.net] この業界歴史が浅いから本が必ず正しいことを言っているとは限らない点も注意だな 長くたって結局将棋とか過去の棋譜を使わないほうが強くなったらしいし 未来は自分で切り開くんだよend