130 最初の要素を除いて単純な配列からすべてを取得するための1行の簡単なlinq式はありますか? for (int i = 1; i <= contents.Length - 1; i++) Message += contents[i]; 私はそれが凝縮する方が簡単かどうかを見たかっただけです。 c# linq — シエル ソース
244 はい、Enumerable.Skipはあなたが望むことをします: contents.Skip(1) ただし、配列を使用したい場合、結果はIEnumerable <T>になります。 contents.Skip(1).ToArray() — LBushkin ソース 構造体のcontents新しいインスタンスで配列をラップすることもできますArraySegment<>。当時上記の回答は特に便利ではなかったこと、書かれていたが、.NET 4.5以降ArraySegment<>を実装IList<>、IReadOnlyList<>および(を含め、ベース・インタフェースIEnumerable<>)は、たとえば渡すことができるようArraySegment<>にstring.Join。 — Jeppe Stig Nielsen 2017 Linqが嫌いなほど、これは許容できると判断しました。これは、アプリケーションの起動ごとに静的コンストラクターで実行されるため、パフォーマンスのオーバーヘッドが存在しないためです。 — Krythic
7 以下はあなたのforループと同等です: foreach (var item in contents.Skip(1)) Message += item; — ダン・スティーブンス ソース 1 欲しいvar item? — Joe
contents
新しいインスタンスで配列をラップすることもできますArraySegment<>
。当時上記の回答は特に便利ではなかったこと、書かれていたが、.NET 4.5以降ArraySegment<>
を実装IList<>
、IReadOnlyList<>
および(を含め、ベース・インタフェースIEnumerable<>
)は、たとえば渡すことができるようArraySegment<>
にstring.Join
。