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

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

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part134
http://mevius.5ch.net/test/read.cgi/tech/1511951038/
■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/

■コードを貼る場合は↓を使いましょう。
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: default:vvvvv:1000:512:----: EXT was configured
2018/02/17(土) 22:35:44.05ID:7mikedr/0
>>518
ハイ、逃げたw
2018/02/17(土) 22:37:00.85ID:Q3QDcnMIM
>>521
お前がな
2018/02/17(土) 22:46:43.47ID:XsSESzO/0
一般的にLINQコードのほうが少ないワーキングメモリで理解できる
2018/02/17(土) 22:52:46.47ID:7mikedr/0
>>522
いいよ
受けて立つよ
お前雑魚だし
2018/02/17(土) 23:00:29.41ID:Q3QDcnMIM
>>524
OK
じゃレス読み返してこい
2018/02/17(土) 23:02:57.51ID:ttY9XQata
馬鹿らしい勝負だな

適材適所
linqが使い良い場所ならそこで使う
forやforeachが使い良い場所ならそこで使う

汎用性はfor foreachが上
2018/02/17(土) 23:13:34.50ID:vxC6ekeQ0
なんでいつもlinqの話になると荒れるんだよ
2018/02/17(土) 23:22:34.74ID:I0BNlfaX0
最近書き直された独習C# ってどんなぐあいですか?
C#2.0 から知識は止まっているので、買ってみようと思うときもあるのですが
2018/02/17(土) 23:28:11.51ID:ttY9XQata
>>520
[2]は悪手
ループが多すぎる
並べ替えで何回ループしてるかわからない

しかも無駄にループする可能性があるので
OrderBy Lastの組み合わせじゃなくてOrderByDescending First使うべき
2018/02/17(土) 23:33:32.24ID:4BHNVcm10
>>516
JsonResultで検索して真っ先に出てきたここで
http://www.atmarkit.co.jp/ait/articles/0907/10/news109_3.html
解説十分に思うし何が分からんのか分からんのだけども
2018/02/17(土) 23:55:53.51ID:YrEj1JRO0
Lastだと最後まで列挙されるからってこと?
だから前の誰かはわざわざ降順にしてたのか
2018/02/18(日) 00:03:26.43ID:EJho87+R0
仕様通りに動けば中身はなんだっていいんだよ。(個人ならね)
2018/02/18(日) 00:07:37.02ID:9OPZsITra
今のはlistがIListならLastでもいい

しかし全部の内部の処理動作を覚えて
いちいちその違いを認識してコードを書くとは思えないので
どうしたらパッと見早く動くように見えるかロジカルに考える習慣をつけるべき
2018/02/18(日) 00:11:53.26ID:sStJYnT/0
デカいリストの時とか変わったループ処理のときだけ原始的な書き方でやればいいんだろうな
2018/02/18(日) 00:13:33.71ID:9OPZsITra
そもそも内部構造によって悪手かもしれないなら
普通に[1]を選べばいい

何をやってるかわかるから
2018/02/18(日) 00:14:40.67ID:sStJYnT/0
デカイリストとか変なループ処理じゃないなら直感的なリンクでいいよね
2018/02/18(日) 00:33:58.85ID:9OPZsITra
書いたコードでその人が何を考えて書いたのかはわかるだろう
そして弱点があるならその人のレベルを疑うだろう

PGは無駄がなく速く動くコードを書きたいと願うもの

初心者はまだその域に達していないだけ
2018/02/18(日) 00:36:10.92ID:sStJYnT/0
アセンブラでも使っとけ。
2018/02/18(日) 01:10:42.14ID:RhG0Chqj0
>>535
でも1ってバグってね?
maxitemに値入るの?
2018/02/18(日) 01:15:11.21ID:RhG0Chqj0
1,2,3ってそれぞれ別のモンを掴んで来そうだけど
こんな欠陥コードで比較してて大丈夫なの?
2018/02/18(日) 01:19:07.73ID:9OPZsITra
>>539
省略してあるんだろと思ったけどバグ入り
2018/02/18(日) 01:25:51.97ID:RhG0Chqj0
1,2,3を同じ結果が得られるコードだと思ってるなら不味いよ
っていうか普通にlinqわかりにくいから使ってる奴死のうねってコード
じゃあ、1の不具合修正版と全く同じ動作をする処理を
2と3の形式で書けよって言われるとあんまりlinq使う意味ないんだろ
捨てちゃえよコレ
2018/02/18(日) 01:57:03.00ID:sStJYnT/0
なに言ってるかわからんが、結局
デカいリストの時とか変わったループ処理のときだけ原始的な書き方でやればいいんだろうな
2018/02/18(日) 03:46:52.93ID:ZiIqzVln0
>>527
親を殺されてるのに冷静でいられる奴の方が変だ
2018/02/18(日) 08:24:37.51ID:AO2fZqe80
要素数が多い場合はDBで処理すればいい
シーケンスの集合演算で容易に解けないようなレアケースは一度だけベタに書いてIEnumerable拡張としてライブラリ化して二度とベタに書いちゃいけない
DRYは基本中の基本
2018/02/18(日) 08:58:21.87ID:BzKV6Wa9M
オンメモリで処理できるものをDBみたいに糞遅いものに頼ることはないと思うけど
なんかちょいちょい変なやり方をこれがいいですよみたいな書き方はやめたほうがいいよ
2018/02/18(日) 09:00:31.77ID:BzKV6Wa9M
それにlinqから複数の要素数の違うシーケンスを取り出せないって書いてあるだけだろ
つまんね
2018/02/18(日) 09:26:20.84ID:f4Owde4c0
>>539
バグ以前にコンパイル通らないだろ
> var maxItem=null;
2018/02/18(日) 10:13:08.45ID:q/GX9XKTd
マウント取りたいだけのゴミクズなんだからNGしろ
2018/02/18(日) 10:56:25.36ID:JlUJeRggM
>>546
こういうタイプの人がとんでもない件数のデータ取得してAPで集計するみたいな酷い処理を書くのかな
2018/02/18(日) 11:19:36.09ID:AO2fZqe80
そもそも「linqから複数の要素数の違うシーケンスを取り出せない」って意味不明な文が何を言いたいのか全くわからんのだが
2018/02/18(日) 11:29:52.89ID:P65j4to9M
linqはゴミだな
2018/02/18(日) 12:26:53.66ID:xgCSzXkx0
>>551
それな。
zipとかの関数は小さい方に合わせるんだがそういうことではないのかね。
2018/02/18(日) 12:34:55.86ID:xgCSzXkx0
デジタルネイティブならぬlinqネイティブな超初心者の俺には原始的なやり方を出来るだけ使わないやり方のほうが少ないワーキングメモリで理解できて楽なんだが、今まで地道な書き方してきた人はできるだけその書き方をしたいと思うのかね。
2018/02/18(日) 12:40:46.69ID:xgCSzXkx0
超初心者の多いPythonのスレだと関数型的な関数とか内包表記に対して誰も文句言わずに当たり前のように受け入れられてるしね。
俺からみたらこのスレのリンク拒絶反応民は言語学的にみても自然な流れなのにら抜き言葉を受け入れられない老人ってイメージ。
2018/02/18(日) 12:41:10.66ID:JLsQDeR60
新しい技術を学ばない人なら「地道な書き方」を続けるだろうね
2018/02/18(日) 12:52:21.36ID:1gDuaBcq0
linqは早くなるわけでもないので、見通しが悪くなる場合は使用を控えるのが得策だな
ただ、直感的に判りやすいものは積極的に使うべきだ
2018/02/18(日) 12:59:36.89ID:i9xlu85wM
>>557
>>520が全部違う結果がかえる時点で超わかりにくいじゃん
2018/02/18(日) 13:01:01.74ID:/P4rmifc0
同意
LINQ云々以前にパッと見で分からん様な処理はちゃんと名前付けるべき
2018/02/18(日) 13:02:06.23ID:xgCSzXkx0
俺のような超初心者には、述語もなくて原始的であちこち飛びまくりで状態変数更新しまくりのコードを理解するのには、長いリンクコードと比較して3倍のストレスを感じてしまうな。
超初心者だから、デカいコレクションとかを効率的に裁かなければいけない状況にはほとんど出会わないけれど、古参のプロプログラマーは俺が普段扱うような大規模でないコレクションには出会わないのかね。
561デフォルトの名無しさん (ワッチョイ 3783-qi38)
垢版 |
2018/02/18(日) 13:17:48.49ID:+tLYeZ1A0
保守性もなく糞遅いLINQでわさわざ書く理由が分からない。
もはや初心者スレでマウンティングすることぐらいしかできていないアホ機能。
2018/02/18(日) 13:25:56.99ID:CuHWMF/m0
LINQすら使えないゴミがまた湧いてんのか
2018/02/18(日) 13:32:16.48ID:BzKV6Wa9M
LINQしか使えない人がLINQ+そのほかの機能も使える人に噛みついてるだけ
全員補助輪つけろという抗議活動
2018/02/18(日) 13:43:53.51ID:RhG0Chqj0
>>561
それで友の会スレ使わないで初心者スレきてんだ?w
初心者マウンティングがやりたくてわざわざこんなとこで貼ってるのかよ
2018/02/18(日) 13:48:41.01ID:YGh6gLdw0
マウンティングならちゃんとやって欲しい
バグコードなんかダッチワイフとシコシコやってるのと変わらないだろ
2018/02/18(日) 13:56:57.83ID:RhG0Chqj0
大したモン作れないから
初心者スレで初心者が見慣れないコード貼って悦に入るゴミクズ
そうでないというなら友の会スレ新しく建ててそっち行けよ
前のはもう消えたけどなlinqなんて誰も使ってねーから
2018/02/18(日) 14:09:38.35ID:PqnfJfooa
>>555
人語の場合は正しいかどうかの基準は合理性ではないのでその議論はナンセンス。
日本語にも英語にも不合理な文法なんかいくらでもある。

あと、どうせ言っても分からんと思うけど、世代論に限らず「〜ガー」っていうのは
他人からは言ってる本人の被害者意識や被害妄想を語るに落ちてるようにしか聞こえないことに
いい歳こいてるなら気が付いた方がいいと思うw

もちろん受け取る側の他人もいろいろだけどね
2018/02/18(日) 14:24:40.19ID:WO6mnsrqM
>>567
> 「〜ガー」っていうのは
> 他人からは言ってる本人の被害者意識や被害妄想を語るに落ちてるようにしか聞こえない
なにかトラウマでもあるんだろうな w
2018/02/18(日) 15:15:56.96ID:CuHWMF/m0
>>566
>linqなんて誰も使ってねーから
はいキチガイ
2018/02/18(日) 15:53:32.39ID:ZiIqzVln0
違うよアベンジャーだよ
2018/02/18(日) 16:10:23.12ID:JlUJeRggM
お年寄りなのかな
2018/02/18(日) 16:54:53.07ID:RhG0Chqj0
じゃあどうして友の会スレは消えちゃったの?
誰も書き込んでなかったからでしょ?
2018/02/18(日) 16:59:22.79ID:OJ07T80y0
C#の言語内機能でしかないシロモノで、単品で語る様な物じゃなかったからねえ
スレ自体は落ちて当然というか

むしろWPFスレとかよく残ってんなっていう
(まあそりゃ厳密にはC#以外でも使えるが)
2018/02/18(日) 17:06:51.25ID:bB0zBNw30
WPF悪くないぜ。
2018/02/18(日) 17:15:11.69ID:ZiIqzVln0
WPF終わったなって書き込むと
そもそも始まってないしって返ってくるスレ
2018/02/18(日) 17:19:44.75ID:ZiIqzVln0
深入りしなければ悪くない
個人的にFormsを使うことはなくなったし
ただエヴァンジェリストとかMVPとかの発言は聞き流すべきだなと思った
577デフォルトの名無しさん (ワッチョイ 3783-qi38)
垢版 |
2018/02/18(日) 17:21:43.47ID:+tLYeZ1A0
C#が失速したのはWPFのせいだと思う。
578デフォルトの名無しさん (ワッチョイ 9fe0-T3WU)
垢版 |
2018/02/18(日) 17:26:42.00ID:XTUoNfC80
重くて遅いんでしょ
そりゃ誰も使わないよね
2018/02/18(日) 17:29:44.35ID:JlUJeRggM
WPF食わず嫌いしてたけど使ってみるとすごく楽で良かった
ただレイヤー分割をしっかりできないと逆に使いにくいのかなとも思った
日本の開発の現場ではレイヤー分割の概念がまだ広まってないからそこで失敗して嫌になっちゃうのかもしれない
早すぎたんだろうな
2018/02/18(日) 17:30:54.04ID:OJ07T80y0
WPFは個人的にも好きだよ
あくまで、linqと立ち位置を比較しての話ね

>エヴァンジェリストとかMVPとかの発言は聞き流すべきだなと思った
これには全力で同意だが
2018/02/18(日) 17:36:25.36ID:JlUJeRggM
馬の耳に念仏って実際かなりあるからなんとも言えんな
エヴァンジェリストやMVPの言ってるのとがレベル高すぎて理解できないだけかもしれん
完全に理解したうえで論理的に反論するならともかく
2018/02/18(日) 17:41:14.32ID:4qWLRsuo0
リンク使ってるだけで悦に入ってると思うとかどんなコンプだよ...
linqネイティブの俺には想像もつかんわ。
2018/02/18(日) 17:56:25.68ID:4qWLRsuo0
むしろ原始的な書き方をしてる人のほうが悦に入ってそう... w
2018/02/18(日) 18:04:51.87ID:4qWLRsuo0
プログラミングがどうしてもできない人もいればなんの不自由もなくできる人がいるように、リンクがどうしても難しい人がいるんだな w
リンク書けるのに原始的な書き方を書けない人は居ない
原始的な書き方はできるけどリンク書けない人は居ないとは限らない w
2018/02/18(日) 18:09:44.28ID:OLHt6KLG0
初心者相手にマウンティングってこれかな?w
2018/02/18(日) 18:14:34.10ID:OLHt6KLG0
これがやりたくて友の会スレから脱獄してきたガイジなんでしょ?
誰も聞いて無いのに突然linq書き出して迷惑してますって被害届出てるよ
2018/02/18(日) 18:18:05.06ID:CuHWMF/m0
>>586
どう考えても、LINQなんか使ってるやついないって言ってるお前がガイジ
2018/02/18(日) 18:23:24.38ID:JlUJeRggM
Linq最大の失敗はLinqすら理解できずにぶちぶち文句言う雑魚が存在することを予測できなかったことだな
2018/02/18(日) 18:32:40.13ID:VlgXSgC9a
>>588
関係ないけど標準語ではぶつぶつ文句を言うだけど
ぶちぶちてどこの方言なんだ?
2018/02/18(日) 18:36:49.68ID:AAhzNgFK0
「でぶでぶ」太る、とかいう人もいるから、その類じゃないかな
ちょっと変わった擬態語でインパクトを与える、というのは日本語ならではだと思います
2018/02/18(日) 18:40:36.23ID:sStJYnT/0
リンク使っただけでブチブチ言われるとかどんな世の中だよ...
便利で簡単だから使ってるのにそれを難しく感じる連中どもの意見なんて要らない w
2018/02/18(日) 18:42:39.07ID:VlgXSgC9a
自演の白状かなw

ちがうならどこの方言?
2018/02/18(日) 18:43:19.97ID:JlUJeRggM
>>589
「ぶちぶち」は文句を言うときのオノマトペ(擬音語・擬声語)です。
語彙力は大事だぞ少年よ
2018/02/18(日) 18:43:47.07ID:VlgXSgC9a
難しく感じてるんじゃなくて使いどころを見極めましょうだな
上で一日延々やってたみたいだけど読む気がしない
2018/02/18(日) 18:44:15.28ID:sStJYnT/0
ブチブチとか俺のところでも普通に使うが w

自演と思いたいなら勝手に思っとけ

ちな愛知
2018/02/18(日) 18:44:31.73ID:VlgXSgC9a
>>593
多分それ方言
周りで誰かつかってるか?
2018/02/18(日) 18:46:08.76ID:sStJYnT/0
>>594
そそ。
結局
デカいリストの時とか変わったループ処理のときだけ原始的な書き方でやればいいんだろうな
ってこと w

リンク難民は簡単なリンク使っただけでも早さがどうのこうの、動作が理解できないだのブチブチ言うんだよな w
リンクを難しく感じる連中の意見なんて要らない w
2018/02/18(日) 18:47:14.54ID:OLHt6KLG0
linqみてーなマイナー機能に飛びつく傾向があるんだろ
2018/02/18(日) 18:49:09.00ID:sStJYnT/0
マイナーと感じるのはおまえが使わない(難しく感じるので使いたくない)から w
Pythonとかだと似たような書き方は一般的に使われてるのに w
2018/02/18(日) 18:49:25.48ID:Ct2k6iqr0
特定の地方で用いられる方言ではなく単に「ぶつぶつ」と「ぐちぐち」が混ざったような俗語だろう
2018/02/18(日) 18:49:30.80ID:VlgXSgC9a
辞書にはぶつぶつと はある
ぶちぶちはない
2018/02/18(日) 18:50:32.20ID:JlUJeRggM
>>596
普通に使われてるよ
ちなみに東京な

日本語を少しかじった在日外国人もぶちぶち文句を言うって言い回しには戸惑うらしい
2018/02/18(日) 18:51:29.03ID:VlgXSgC9a
>>602
どの辞書にぶちぶちが乗ってんだ?
2018/02/18(日) 18:52:47.66ID:JlUJeRggM
>>603
知らんわ
勝手に探せよ
2018/02/18(日) 18:53:36.86ID:OJ07T80y0
http://yourei.jp/%E3%81%B6%E3%81%A1%E3%81%B6%E3%81%A1%E3%81%A8

もはや何のスレなんだか
2018/02/18(日) 19:14:06.64ID:uudF1O4B0
スレ違いで質問流すわ質問できない雰囲気作るわ、お前ら最低だよ
2018/02/18(日) 19:24:03.84ID:k1v/mjkP0
LINQなんぞ拡張メソッドとラムダ式に過ぎず、実装的には殆どがfor(each)+コールバック+yieldなのに
殊更に対比して語る事自体とても奇妙に思える、yieldは吐くコードが迂遠だから避けられる事はままあるし
608デフォルトの名無しさん (ワッチョイ 9f9d-MriG)
垢版 |
2018/02/18(日) 19:36:35.18ID:X6jPePh+0
ところでLinqでシーケンスのあるものって取り出すのはむつかしいか?
例えばSTX、~ 、ETXみたいにSTXとETXに囲まれた〜を取り出す方法ってある?
2018/02/18(日) 19:38:58.52ID:sStJYnT/0
http://d.hatena.ne.jp/chiheisen/20111031/1320068429

ここの要素を取得(複数)のところにある関数を二回つかう
610デフォルトの名無しさん (ワッチョイ 9f9d-MriG)
垢版 |
2018/02/18(日) 19:47:32.81ID:X6jPePh+0
できそうにないな。なにか勘ちがいしてると思う。
611デフォルトの名無しさん (ワッチョイ 9f9d-MriG)
垢版 |
2018/02/18(日) 19:48:43.88ID:X6jPePh+0
その二つの関数がなにかをチャンと明示してみな。できないことを証明してやる。
2018/02/18(日) 19:49:23.27ID:sStJYnT/0
すまん、そのマーカーを除くためにもうひとつの関数がいる
2018/02/18(日) 19:50:23.80ID:sStJYnT/0
ここまで言えば流石にわかるやろ
2018/02/18(日) 19:52:16.84ID:JlUJeRggM
>>608
お前の考えてる処理仕様が明確につたわってこない
エスパー回答するならSkipWhile, TakeWhileの組み合わせで解ける
615デフォルトの名無しさん (ワッチョイ 9f9d-MriG)
垢版 |
2018/02/18(日) 20:10:08.51ID:X6jPePh+0
質問はエスパーじゃなくてもパーでも解る。
しかし回答はピッタシだ。スペル見ただけで解った。
2018/02/18(日) 20:11:52.18ID:sStJYnT/0
マウント失敗かよ
617デフォルトの名無しさん (ワッチョイ 5763-bVi4)
垢版 |
2018/02/19(月) 15:53:42.66ID:HkGN0Yfm0
てs
2018/02/20(火) 10:02:09.63ID:Dvn/LER50
direct2dの初期化などをc++のdllで行って画像をC#で表示したいんですが
ID2D1HwndRenderTargetのhwndをC#のコントロールのハンドルにすればC#で表示できますか?
2018/02/20(火) 10:33:35.36ID:Dvn/LER50
自己解決しました
できるみたいですね
620デフォルトの名無しさん (ワッチョイ d775-bVi4)
垢版 |
2018/02/20(火) 15:36:22.39ID:rWzsbI8r0
死ね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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