X



ふらっと C#,C♯,C#(初心者用) Part135
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (ワッチョイ 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
0451デフォルトの名無しさん (ワッチョイ 62e0-jA6l)垢版2018/02/14(水) 12:42:24.63ID:pSHgdCSe0
猫でもわかるは?
0453デフォルトの名無しさん (ワッチョイ c29d-+g9t)垢版2018/02/14(水) 13:17:41.66ID:UFv5UzG30
>>445
キュウは意外と使われていないな。しかし本来連続処理をする場合はキューが必要になる。
例えばフィルターとか、通信処理ではなくてもメッセージの改行ごとの切り出しとか。キューを使うべきなのだが
つかってる例がない。
 そもそもこのQueueの仕様がだめなんだよな。まるでハードFIFOのまんまじゃないか。笑える。
折角オブジェクト指向で柔軟に作り込みできるのに、何の機能もついてない。ライトするときの型とリードするときの型を
変えられないと意味ないだろ。W
というわけで、
配列でライトして、バイトリードできる利口なキューReQueを作りたいんだが、どう定義したらいいんだ?
0455デフォルトの名無しさん (ワッチョイ c29d-+g9t)垢版2018/02/14(水) 13:38:10.36ID:UFv5UzG30
ReQue<int[], byte > qq;
とか
ReQue <strigng, LineString>pp;
とか
1.は array をライトしてByteでリード
2.はStringでライトして、CRLFの区切りで切り出し
こんなのはできないか?
0456デフォルトの名無しさん (ワッチョイ c29d-EuZI)垢版2018/02/14(水) 16:33:41.33ID:UFv5UzG30
 適当に言ってみただけだが、わりと簡単に作れそうだな。
C#って無茶苦茶強力だな。何でもできる。
0460デフォルトの名無しさん (ワッチョイ c29d-EuZI)垢版2018/02/14(水) 20:39:24.65ID:UFv5UzG30
楽しいC# 川保昌 が楽しい。
0466デフォルトの名無しさん (ワッチョイ 37d3-T3WU)垢版2018/02/16(金) 11:39:04.54ID:gNYDvrte0
Winformsは中途半端なHiDPIサポートが元々入っているせいで
注意深く組まないとネイティブアプリよりもむしろレイアウト崩れやすいレベルだぞ
4.7で追加されたHiDPIサポートとやらもWin10のCUからでないと有効にならない
0468デフォルトの名無しさん (ワッチョイ ff8a-F5uH)垢版2018/02/16(金) 21:43:20.45ID:Mt/w8W0Z0
テキスト編集ソフトを作ってるんですが、ユーザーが開いたテキストファイルの一覧を、
外部ファイルを使用せずにアプリ自身に保存するにはどうしたらいいでしょうか?
0475デフォルトの名無しさん (ワッチョイ ff81-OzgD)垢版2018/02/16(金) 22:12:01.91ID:PU4qYOCy0
C++で似たようなことをやったときは
exe起動→exeのコピーを作成して起動。オリジナルは終了→
メイン処理→オリジナルのexeを書き換えてPEのチェッサムを再計算
とやった
0490デフォルトの名無しさん (アウアウウー Sa9b-mhGK)垢版2018/02/17(土) 10:08:20.03ID:y9IWVG5ba
TypeScriptの型システムは完全なstructual subtypingで、そもそも型に対する考え方が大きく違う
「同名のメンバを一つでも持っていれば、共通する部分については同じ型と見做す」という、
高度で精密という表現からはかけ離れた大雑把な型システムだよ
インターフェイスの明示的実装なんかは原理的に不可能だし
0496デフォルトの名無しさん (ササクッテロロ Sp0b-SDIO)垢版2018/02/17(土) 14:34:56.50ID:FvBroJk9p
>>495
その通りなんだけど、そもそもやりたいことを実現するために機能が必要なことが多い

xamlに値を直接書きたくない→データバインド
webリクエストを投げてかえってきた結果をスクレイピングして使いたい→非同期処理
コレクションの処理を簡潔に記述したい→linq

全部使わなくても出来るとは思うけど、
どうせあとで書き換えることになるだろうし、
ちゃんと学んでおいた方が後の手戻りが少なくなると思う
0500デフォルトの名無しさん (アウアウウー Sa9b-qi38)垢版2018/02/17(土) 14:42:04.74ID:JhxlZtl8a
継続的に開発して変化に対応しやすいようにするならlinqは短いコードだけ
ちょっと複雑なのは普通にforやforeachがいい場合がある

linqは結局一つの列挙しか返さないから要素数が違ったりするものを組み合わせられない
0502デフォルトの名無しさん (ワンミングク MM7f-VCq2)垢版2018/02/17(土) 19:20:25.20ID:Q3QDcnMIM
>>500
たぶん設計が狂ってるんだろうな
複雑なループってトランザクションスクリプト的な汚いシステム特有の現象だよ
要素数が違うってことは異なるエンティティってことだからそれらを同時に列挙してる時点でなにかがズレてるんじゃないの
0506デフォルトの名無しさん (アウアウウー Sa9b-qi38)垢版2018/02/17(土) 20:10:45.35ID:JhxlZtl8a
理解力が低い自慢はいいよ

使いたい人はなんでもlinq使えばいい

linqは限られた用途で光るもの
上の方のレスにある属性がMaxの要素を取り出すにはlinqでは2回ループがいる
foreachやforでは1ループでいい
それがどうだと思う人は永遠に初心者のまま
0509デフォルトの名無しさん (ワッチョイ 3783-qi38)垢版2018/02/17(土) 20:38:57.31ID:cHSXrfCe0
10年前からLINQは糞で遅いから普及しないって言われてた。
0512デフォルトの名無しさん (ワッチョイ 3783-qi38)垢版2018/02/17(土) 20:44:25.26ID:cHSXrfCe0
関数型言語がなんで廃れてるかがよく分かる。KYなんだよ、彼らは。
0513デフォルトの名無しさん (ワッチョイ 17ed-1yoi)垢版2018/02/17(土) 20:51:25.85ID:2dhflQ+l0
「そうそう、アメリカは悪いーヤツなんだよね…」
「あ、俺、最近は洋楽聞いてるんだ…」
「関数型言語がなんで廃れてるかがよく分かる。KYなんだよ、彼らは…」
「コーヒー、砂糖入れなくていいからな…」
0515デフォルトの名無しさん (ワンミングク MM7f-VCq2)垢版2018/02/17(土) 21:23:13.78ID:Q3QDcnMIM
>>514
あのさ文脈少しは気にしたら?

複雑な処理をLinqでやるかループでやるかって比較してたんだろ
ならここでの複雑な処理っての複雑なループか複雑なLinqのどっちかなんだよ

このロジック君にはLinqより難しかったかな?
0516デフォルトの名無しさん (ワッチョイ 5710-brYG)垢版2018/02/17(土) 21:29:52.32ID:lDUnRFry0
jsonresultの使い方がよくわからないのですが、Ajaxとかでpostしたら結果を受けることができるって感じなんでしょうか
何故かあんまり解説落ちてない
0520デフォルトの名無しさん (ワッチョイ d775-7aOx)垢版2018/02/17(土) 22:30:36.59ID:YrEj1JRO0
[1]
var maxItem=null;
foreach(var item in list){
if(maxItem!=null&&item.Value>maxItem.Value)
maxItem=item;
}

[2]
var maxItem=list.OrderBy(item=>item.Value).Last();

[3]
var max=list.Max(item=>item.Value);
var maxItem=list.Select(item=>item.Value==max).First();
0528 ◆QZaw55cn4c (ワッチョイ 9f60-qi38)垢版2018/02/17(土) 23:22:34.74ID:I0BNlfaX0
最近書き直された独習C# ってどんなぐあいですか?
C#2.0 から知識は止まっているので、買ってみようと思うときもあるのですが
0533デフォルトの名無しさん (アウアウウー Sa9b-qi38)垢版2018/02/18(日) 00:07:37.02ID:9OPZsITra
今のはlistがIListならLastでもいい

しかし全部の内部の処理動作を覚えて
いちいちその違いを認識してコードを書くとは思えないので
どうしたらパッと見早く動くように見えるかロジカルに考える習慣をつけるべき
0537デフォルトの名無しさん (アウアウウー Sa9b-qi38)垢版2018/02/18(日) 00:33:58.85ID:9OPZsITra
書いたコードでその人が何を考えて書いたのかはわかるだろう
そして弱点があるならその人のレベルを疑うだろう

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

初心者はまだその域に達していないだけ
0542デフォルトの名無しさん (ワッチョイ 37e3-GlTH)垢版2018/02/18(日) 01:25:51.97ID:RhG0Chqj0
1,2,3を同じ結果が得られるコードだと思ってるなら不味いよ
っていうか普通にlinqわかりにくいから使ってる奴死のうねってコード
じゃあ、1の不具合修正版と全く同じ動作をする処理を
2と3の形式で書けよって言われるとあんまりlinq使う意味ないんだろ
捨てちゃえよコレ
0545デフォルトの名無しさん (ワッチョイ 7f9f-PxSw)垢版2018/02/18(日) 08:24:37.51ID:AO2fZqe80
要素数が多い場合はDBで処理すればいい
シーケンスの集合演算で容易に解けないようなレアケースは一度だけベタに書いてIEnumerable拡張としてライブラリ化して二度とベタに書いちゃいけない
DRYは基本中の基本
0546デフォルトの名無しさん (ブーイモ MMcf-qi38)垢版2018/02/18(日) 08:58:21.87ID:BzKV6Wa9M
オンメモリで処理できるものをDBみたいに糞遅いものに頼ることはないと思うけど
なんかちょいちょい変なやり方をこれがいいですよみたいな書き方はやめたほうがいいよ
■ このスレッドは過去ログ倉庫に格納されています

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