[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 01/03 17:51 / Filesize : 300 KB / Number-of Response : 1017
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名無C mailto:sage [2019/03/07(木) 06:35:41.12 ID:6L3KEJfe0.net]
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■関連スレ
C#, C♯, C#相談室 Part93
mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part141
mevius.5ch.net/test/read.cgi/tech/1544839627/
■コードを貼る場合は↓を使いましょう。
ideone.com/
https://dotnetfiddle.net/

■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

347 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 05:26:30.24 ID:f7He4YCD0.net]
俺もそう思う
べき論としてみんな口々に言うけどそこを懸念するとかどんだけ連携がないチームなんだよ

348 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 08:35:33.20 ID:vIVj+RyW0.net]
>>341
ただ、DIもシングルトンの一形態という記述は見たことが有る

349 名前:デフォルトの名無しさん [2019/04/13(土) 08:39:55.79 ID:Gb+AenIc0.net]
以前に書いたプログラムを元に加筆修正して別のプログラムを作った時
フォルダもソリューションも別名で保存したいのですが
VisualStudioはそういう保存はできないのでしょうか?
今は力業であらかじめ別名フォルダにコピーしたソリューションから作り始め
ソリューション名、プロジェクト名、アセンブリ名、空間名
等を書き換えてからプログラムの修正を始めるのですが
時々何かがおかしくなってバインディングが外れたり
破綻してしまうこともあるので
何か安全に書き換える方法があるのかな?と質問しました

350 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 08:52:30.68 ID:J/cBqpWVM.net]
>>345
いい加減git使おう

351 名前:デフォルトの名無しさん [2019/04/13(土) 09:32:07.36 ID:Gb+AenIc0.net]
>>346
うーんちょっと調べただけだけどヤヤこしそう・・・
それにバージョン管理とは違うんだよなー
ワープロを元にデータベースを作ったからフォルダもソリューションも変えて保存したい
って感じなんだけど

352 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 09:39:52.37 ID:vbn0MA6qa.net]
レベル下がったなこのスレも
VB.NETとJavaが終わりつつあるから流入してるのか

353 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 09:55:51.57 ID:J/cBqpWVM.net]
>>347
慣れたら自然にそんなアホなことをしようとは思わなくなるから気にしなくていい
俺も初心者の頃はそうだったから気持ちはよくわかる

354 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 09:59:00.31 ID:C2d1A80t0.net]
>>348
レベルの高い時期があったみたいな言い方だな

355 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 10:04:10.28 ID:vzJQEXVg0.net]
>>347
ソリューションを変えるのはわかるけど
> プロジェクト名、空間名
とかは変えなくても良くね?



356 名前:デフォルトの名無しさん [2019/04/13(土) 10:41:12.62 ID:kUX6ubEA0.net]
>>351
そうなの?
とりあえずその方がコードも分かりやすいから
exeとタスクトレイに表示される名前だけ反映させるには
アセンブリ名とアセンブリ情報の中だけでいいのかな

357 名前:デフォルトの名無しさん [2019/04/13(土) 10:44:39.80 ID:nXQ9b0jN ]
[ここ壊れてます]

358 名前:0.net mailto: 7.2で加わった、条件付きのref式って意味がわかんないんだけどさあ
これrefがついていようがいまいが同じように動作しないの???
なんなのこれ
[]
[ここ壊れてます]

359 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 11:21:31.91 ID:umtct5vHa.net]
>>353
int a, b, c;
void Reset() { a = 1; b = 2; c = 3; }

Reset();
ref int x = ref a;
x = (true ? b : c); // 普通の条件演算子
x = 4; // xの参照先はaのままなのでaが変わる
Console.WriteLine($"{a} {b} {c}"); // 4 2 3

Reset();
ref int y = ref a;
y = (true ? ref b :ref c); // 条件演算子の2項目と3項目にrefはあるが、条件演算子の前にrefはない→参照でなく値が代入されるだけ(上と同じ)
y = 4; // yの参照先はaのままなのでaが変わる(ここでハマってそう)
Console.WriteLine($"{a} {b} {c}"); // 4 2 3

Reset();
ref int z = ref a;
z = ref (true ? ref b : ref c); // 条件演算子の前にrefがある→zの参照先が変わる
z = 4; // zの参照先がbになったのでbが変わる
Console.WriteLine($"{a} {b} {c}"); // 1 4 3
// https://ufcpp.net/study/csharp/sp_ref.html?p=2#conditional-ref もどうぞ

360 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 18:28:52.41 ID:a4r2Gpw40.net]
この言語は、見かけはC++の兄弟分のような顔をしたVBだな。

361 名前:デフォルトの名無しさん [2019/04/13(土) 18:49:30.17 ID:nXQ9b0jN0.net]
>>354
ありがとう!やっとわかったぜ!!!

362 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 22:22:05.47 ID:zPnWLOfMa.net]
>>354
こんな機能追加されてたんだw
でも積極的な使い方を思いつかんなあ

363 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 22:30:05.68 ID:4tcIFh//0.net]
後から追加された機能ってどれもセンスないよね

364 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 23:41:32.18 ID:04eDeW4Td.net]
>>358
は?

365 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 23:52:54.44 ID:4tcIFh//0.net]
>>359
は?じゃねぇよクソ虫



366 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 00:08:30.69 ID:01zt8L7jd.net]
>>360
ジェネリクスもセンスないのかい?

367 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 00:26:39.46 ID:eLdyJ0cI0.net]
>>358
最近追加された機能は効率重視でちょっと分かり難いのもあるから、
そういう風に見えるのも分からないでもない。

368 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 00:53:29.67 ID:DOuVmEEK0.net]
言語の価値って開発環境も含めて評価すべきじゃない?
自分は別に他の言語でもよい処理をついついc#でやっちゃうのはやっぱりIDEの強力なサポートがあってのことだわ

369 名前:デフォルトの名無しさん [2019/04/14(日) 08:42:45.32 ID:H5M6zKH30.net]
>>363
これはRuby先輩を呼び寄せるための撒き餌ですか?

370 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 08:50:41.27 ID:k2b6YaL90.net]
C#は、CとC++の系列のように外見を装っているが、実際にはVBのほうが似てる言語だろう。
CやC++に対しておこがましさを感じる。

371 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 08:55:34.96 ID:TOfo8K8Bd.net]
>>358
ラムダ式とか使わんの?

372 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 09:07:27.41 ID:UDnauAFh0.net]
>>363
言語の基本文法のみ良し悪しとか、標準ライブラリまで含めての評価とか、議論の対象をどこまでとすらかは文脈によるだろうし、君が開発環境まで含めた話をしたいというならそういう話題をふって話を進めればいいよ。
言語単体での話をしている時に「いやいやIDEが〜」とか言い出すと話が発散するから、議論の対象は明確に区切って意識した方がいい。

373 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 09:28:07.93 ID:VqeGGHsz0.net]
>>358
.NET 1.1 の世界から出てくるな

374 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 09:34:22.94 ID:LBjjw3Zya.net]
今の時代、言語だけ語っても意味はないよなぁ
使えるオプソのバラエティとか、コンテナとの親和性とかの評価は避けて通れない

375 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 12:23:16.39 ID:cHKb6r3Sa.net]
>>357
この辺の追加機能はパフォーマンスを求めるための機能だから
速度特化ライブラリの製作者は使うだろうけど、それ以外の開発者は使う機会少ないかも
https://ufcpp.net/study/csharp/cheatsheet/ap_ver7_2/

>>358
https://github.com/dotnet/csharplang/issues
C#の言語仕様はgithub上で公開で議論されている
センスある機能について議論や提案してみたらどうだろう
もちろん何かコメントしたりissueを立てたりする前に、検索して既出じゃないか確認するのを忘れずに



376 名前:デフォルトの名無しさん [2019/04/15(月) 12:22:07.84 ID:3hi8+ot50.net]
先日windows7からwindows10にOSの入れ替えをしたのですが、win7では動いていたPostMessageが動かなくなってしまいました。
(送り手は自作のソフト、受け手は市販のソフトで、Win7でもWin10でも同じものです)
あるアプリケーションに
PostMessage(hWnd, WM_KEYDOWN, VkKeyScan("0"), 0);
のようにして数字を送信していたのですが、これが反応しなくなりました。
ウィンドウハンドルの取得とかは問題がないようです。
これ以外でも
PostMessage(hWnd, WM_KEYDOWN, VK_RETURN, 0);
等すべてのキーが送れません。
対処法がありましたら教えてください。

377 名前:デフォルトの名無しさん [2019/04/15(月) 12:24:05.77 ID:3hi8+ot50.net]
正確に言うと(正確かどうかはわかりませんが)、
送り手側でエラーが出るわけではなく、受け手側のテキストボックスを一応選択はしているので、
送り手側としては送っているつもりですが受け手側が反応しなくなっている状態だと思います。
送り手の発信方法を変えればいいのでしょうか?

378 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 13:27:46.92 ID:3hi8+ot50.net]
すいません、解決しました。
管理権限の問題でした。

379 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 22:16:04.04 ID:l4hdcBztd.net]
新しいバージョンたくさんあるけど業務だとどの辺まで使ってるところが多いんだろ

valueタプルとかみんな使えてる?

380 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 22:17:38.51 ID:p/g7dyR00.net]
>>374
ようやく4.5.2が許されるようになったよ・・・

381 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 22:37:21.92 ID:+hafi/JFa.net]
>>374
.NET Core 2.2/C# 7.3使ってるよ

382 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 08:08:51.63 ID:4W+nw3aAa.net]
うちも最近やっと3.5.1縛りが解けて4.5.2になったよ

383 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 08:14:19.68 ID:5XyUIsTTd.net]
>>374
うちは.NET Core2.1、C#7.3
次のLTSは3.1だっけ

384 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 08:15:38.75 ID:5XyUIsTTd.net]
てかVisual Studioをちゃんと更新してればC#のバージョン上げるのは全然問題なくね?

385 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 08:20:00.65 ID:3+f8cxJ/0.net]
最近?が多くて辛い
null条件演算子でも目眩がするのに
null合体演算子なんか使われたら頭いたい
ところでcoalescingてなんて読むんや



386 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 08:32:26.55 ID:mJc9sIPpa.net]
>>379
ネックはランタイムの方でしょ

387 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 08:37:21.73 ID:bBG3RNJT0.net]
Windows7のサポートが切れれば少しはましになるのかねぇ

388 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 09:11:39.30 ID:gry//OiE0.net]
>>377
async awaitへようこそ

389 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 12:31:57.15 ID:5XyUIsTTd.net]
>>381
だから「C#のバージョン上げるのは」って言ってんのに

390 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 14:23:13.78 ID:o1OTQxfgr.net]
とりあえずVSのバージョンだけでもあげてほしいわ
今時2008とかもう

391 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 15:21:56.74 ID:gbkfFEj/0.net]
>>385
こっそりあげちゃえよ。だれもお前のことなんかみてないからさ。

392 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 17:28:56.19 ID:CzwWdC590.net]
2015ってアン

393 名前:Cンストールしても平気かな。SSDの空きがかつかつで2019インストールするなら2015は消したい []
[ここ壊れてます]

394 名前:デフォルトの名無しさん [2019/04/16(火) 18:43:16.58 ID:HeVWn8Fl0.net]
VS2010からVS2017に上げたら変数名に全角の・使ってるところがビルドエラーになったわ。
こんなの変数名に使うなよと思いながらVS2010で名前変えまくった。

395 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 18:54:44.72 ID:csRNrKVvM.net]
フォームから自動生成したイベントハンドラの頭文字が大文字じゃねぇぞって怒られてるんだけどデフォルトでこうなの?



396 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 19:43:25.05 ID:4DXe6mce0.net]
>>388
ユニコードのせいね
C#6.0の時のやつ

397 名前:デフォルトの名無しさん [2019/04/17(水) 20:49:20.12 ID:WkJZEAk70.net]
ドット絵エディタを作りたいんですが、win formでやってます
ピクセルを描くベースとなるフォームはどれを使用すればよいのでしょうか。

398 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 20:56:19.46 ID:SfPYWsjk0.net]
フォームに直書きでいいよ

399 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 20:59:20.56 ID:VDkzUi/q0.net]
>>391
コントロールなら画像の描画に使うのはPictureBoxでやっとけば調べるのも楽だよ
書き間違いでなく何か別の意味で「フォーム」って書いているのならよくわからない

400 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 21:12:48.03 ID:QwWDImoN0.net]
>>391
ピクセルを書くなら Paint だろ。
https://www.youtube.com/watch?v=IYLm8uclr0I

401 名前:デフォルトの名無しさん [2019/04/17(水) 21:28:00.17 ID:WkJZEAk70.net]
pictureboxかpaintですね ありがとうございます

402 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 00:15:51.35 ID:xpC+XoNH0.net]
textboxで描く

403 名前:デフォルトの名無しさん [2019/04/18(木) 06:13:29.99 ID:VndYiJ+Y0.net]
コントロールとクリックイベントはどのような関係になっているんでしょうか。
コントロールは関数で、そのローカル関数がクリックイベントでしょうか?

404 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 08:27:46.76 ID:KcatLawH0.net]
インテリセンス表示してみろ
vscodeとかならリファレンス表示しろ

Control "クラス" って書いてあるだろうが

405 名前:デフォルトの名無しさん [2019/04/18(木) 10:05:51.26 ID:VndYiJ+Y0.net]
クラスですか ごめんなさい



406 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 17:04:33.74 ID:/n+AA5ti0.net]
>>399
クリックイベントなどのイベントはそのクラスのデリゲートな

407 名前:デフォルトの名無しさん [2019/04/18(木) 18:55:27.19 ID:VndYiJ+Y0.net]
デリゲートって語をはじめてしりました

408 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 19:28:26.95 ID:fqeeOSlB0.net]
デリケートな話題だからね

409 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 19:38:07.87 ID:cTBQXOBu0.net]
デリケートゾーンの話ですか?

410 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 19:57:39.62 ID:YCaR8eKbM.net]
最初は、関数ポインタ+アルファぐらいに思っておけば

後で騙された〜になるけど

411 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 23:09:25.88 ID:4whWZ0bM0.net]
>>400
イベントとデリゲートは全く同じじゃないけどな

412 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 23:33:46.05 ID:xpC+XoNH0.net]
ポインタなんて今時通じるのか?

413 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 09:21:10.96 ID:okUcwqho0.net]
Javaでnull参照した時にNullPointerException投げてくるうちは現役だろ(適当

414 名前:245 mailto:sage [2019/04/19(金) 12:51:17.11 ID:5BNgMycMM.net]
ぬるぽ

415 名前:デフォルトの名無しさん [2019/04/19(金) 16:10:17.23 ID:OM7ktdHt0.net]
ぬるぽ



416 名前:デフォルトの名無しさん [2019/04/19(金) 21:56:33.56 ID:5QVRwjzm0.net]
List<T>から要素を1つずつ要素を取り出して処理し、例外が起きたらその要素だけリストから消したいんだけどさあ
なんかいい手段ってないのかな?

雰囲気としてはこんな感じのが書きたいんだけど・・・・おらの頭じゃうまく書けんだ・・・・
foreach(var o in listOfObject){
try{ 例外処理以外では対処が難しい怪しい処理(o); }
catch{ 例外が起きた項目だけlistOfObjectから消したいが、ちゃんとforeachも回って欲しい(); }
}

417 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 22:02:58.03 ID:MllfoE8V0.net]
新しいList<T>作ってcatchしたときにAddして
foreach終わった後でRemoveしていく

418 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 22:04:41.49 ID:4Fr35pSP0.net]
>>410
foreachじゃなくfor (i = listOfObject.Count; i > -1; i--)とかじゃだめなのか
頑張ってforeachにしてもめんどくさくなるだけの気がする

419 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 22:04:44.06 ID:MllfoE8V0.net]
var erroredItems = new List<Hoge>();
foreach (var item in originalList) {
try { ... }
catch { erroredItems.Add(item); }
}
foreach (var item in erroredItems) {
originalList.Remove(item);
}

420 名前:デフォルトの名無しさん [2019/04/19(金) 22:09:40.78 ID:5QVRwjzm0.net]
ありがとう
こうやってやるもんなのか

421 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 22:27:07.32 ID:i0tIRf8t0.net]
listOfObject.RemoveAll(obj =>
{
  try
  {
・・・・・・なんか処理
    return false;
  }
  catch
  {
    return true;
  }
});

422 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 00:02:36.27 ID:/zNBD6gY0.net]
リストに追加前にtry処理したらダメなん?
それができないなら俺も415のやり方が良い

423 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 00:10:17.26 ID:4fcRoJkza.net]
public class MyUtil {
public static bool Try(Action a) {
try { a?.Invoke(); return true; }
catch { return false; }
}}

var b = a.Where(x => MyUtil.Try(() => ThrowableMethod(x)))
.ToList();

424 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 06:45:01.92 ID:eu9xvtsyM.net]
>>408
ガッ

425 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 06:45:18.46 ID:eu9xvtsyM.net]
>>409
ガッ



426 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 08:09:20.70 ID:u/QGNgma0.net]
このスレ的にはぬるぽではなくぬるりなのか。エロいな。

427 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 08:43:35.43 ID:ShWYWHRt0.net]
配列のソートのアルゴリズムが難しくて覚えられないんですが
簡単な書き方はりますか?

428 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 08:52:13.85 ID:tgvbScEyM.net]
>>421
プログラミングには適性があります。
貴方には向いていません。

429 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 09:08:29.42 ID:Q85hwvCt0.net]
>>410
foreach(var o in listOfObject){を
foreach(var o in listOfObject.ToArray()){
と配列にコピーしてから実行するのが定石です
そのループの中では既に列挙は終わっているから
listOfObjectにAddしてもRemoveしても例外は発生しないし列挙の順番にも影響を与えません

430 名前:デフォルトの名無しさん [2019/04/20(土) 09:12:26.10 ID:Q8Lkjfvy0.net]
>>421
一度リストで書いて、配列だとどう書くだろう?と考える。
アルゴリズムって基本リスト前提だからね。

431 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 09:15:16.95 ID:dmSDGLr5a.net]
>>424
いやソートアルゴリズムの殆どは特定のインデックスに対するランダムアクセスにO(N)を仮定するから配列前提だぞ

432 名前:425 mailto:sage [2019/04/20(土) 09:15:47.20 ID:dmSDGLr5a.net]
間違えたO(1)

433 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 12:09:52.47 ID:IppyQHdna.net]
>>421
今時そんなの覚える必要あんまりない気もするけど、
試験勉強ならがんばって覚えるしかないね

>>423
そもそも列挙と同時に削除をするって発想が筋悪。
別に列挙後ゆっくり削除すりゃあよい訳で、>>413がやってるように2つを分離する方が
考え方として自然で分かりやすいと思うけどね

434 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 12:52:51.24 ID:XrXcMVKPd.net]
>>415が一番シンプルだな

435 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 13:49:32.83 ID:ajzSwZvNd.net]
処理と例外が出たものを除去は別の仕事だから処理も分離してるほうが好き



436 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 13:51:03.66 ID:4fcRoJkza.net]
そもそもフィルタかけて何に使うんだ?

437 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 13:53:51.78 ID:LQSO4VHxd.net]
>>415が質問者のしたいことにドンピシャなのに初心者スレだからラムダ式にアレルギーある奴が多いのかな

438 名前:デフォルトの名無しさん [2019/04/20(土) 14:01:01.21 ID:bN8wmmjE0.net]
一番まともな解答にはレス付けないのが2ちゃん式

439 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 14:06:22.07 ID:axr9T2Wu0.net]
>>431
>>410の処理の目的が条件に合わない要素の削除なら>>415がシンプルで良いけど、
全ての要素に処理をするのが目的で削除はおまけって場合は、>>415だと本来の目的が分かり辛い。

440 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 14:19:22.63 ID:rcvSJkam0.net]
まず、2分探索を、2分ヒープで作れば?
O(log N)

2^10 = 1,024 だから、千のデータを、10回で探索できる。
2^20 = 百万 のデータは、20回!

リストは、次の要素しかわからないから、ランダムアクセスは、O(N) になる。
例えば、1から5を見つけるのに、1,2,3,4,5 と、リンクをたどらないといけない

O(1)にするには、アドレスは計算式で求められるものだけ。
各要素が4バイト使うなら、1が100番地として、5は116番地みたいに

441 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 16:56:48.87 ID:ShWYWHRt0.net]
>>427
覚える必要ないんですか…List型のソートメソッドを使っていても後々問題にならないですかね

442 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 17:40:05.04 ID:tqoqa3JD0.net]
>>435
基本的なデータ構造とアルゴリズムは一通り理解して自分で書けるようになっておくといいぞ。
標準的な物はライブラリ等で用意されているから実際に業務等でコードを書くときはそれを使うが、独自の問題の解法を自分で考える際に、適切な速度や使用リソース量と工数の兼ね合いで良い方法を選択するには、基本は一通り押さえておく必要があるよ。

443 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 20:18:25.55 ID:zIfu5btc0.net]
必要な時に必要なものを覚えるだけでOK
最初から全部覚えようとしなくてもいいよ

444 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 20:23:09.94 ID:qqngOIWj0.net]
ソートに関しては基本情報処理技術者試験の教科書でも読めばいいんじゃないの

445 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 21:14:17.27 ID:f5BR4Kwsa.net]
ソートは自分なりに考えてlコードを書いてみてその後にいろいろ学ぶと勉強しやすい



446 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 08:02:20.34 ID:qTT7Abroa.net]
自前で書くソート処理と、.NET Frameworkに実装されてる(Microsoftのプロフェッショナルが実装した)ソート処理、
どっちがより高速でバグが少ないと思う?
https://referencesource.microsoft.com/#mscorlib/system/array.cs,d076876f5fbf4eec
↑ここから先に書かれている処理よりも優れたソート処理を自分で書けるならともかく、
そうでなければおとなしく出来合いのソート処理を利用するほうが無難だと思うけど

447 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 09:21:47.18 ID:enjRZRrv0.net]
>>440
出来合いのソート処理を利用するなとか誰か言ってんの?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<300KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef