[過去ログ] ふらっと C#,C♯,C#(初心者用) Part155 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
640
(1): デフォルトの名無しさん (アウアウウー Sa63-ruds) [sage] 2022/08/25(木) 11:08:32.96 ID:Kj4JFaopa(5/6) AAS
>>639
639(1): デフォルトの名無しさん (ワッチョイ 1f91-dbST) [sage] 2022/08/25(木) 10:55:45.96 ID:EagxtJ7z0(1) AAS
>>637
LINQは最新.NETでも相変わらずアロケーション酷いから毎度ヒープにnewされてる
スタックだと呼び出し元関数にnew[] { x.a, x.c }を渡せないからね
ほんとか?
SelectManyもそこから呼び出されるラムダ式も呼び出し元に返すのはIEnumerator<int>なのに配列保持する必要ないだろ
643: デフォルトの名無しさん (JP 0H8f-W8rp) [sage] 2022/08/25(木) 17:08:32.19 ID:lqL0IkJnH(1) AAS
>>640
IEnumerator<int>なんだから配列保持しなくてもいいけど保持してもいい
実装はこちらに任せられてて上記のコードだと配列を選択してる訳だからそうなる
yield利用したら配列は必要なくなるけどイテレーター生成で結局アロケーションかかるのは有名な話なのでフィールド数が少ないなら配列生成したほうがマシではある

最近のC#開発陣の方向性からしたら効率的なコードに変換してくれそうなもんだけどLINQは大昔の物なのでそんな最適化はかからない
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.037s