130 是否有一个单行的linq表达式可以从简单数组中获取除第一个元素以外的所有内容? for (int i = 1; i <= contents.Length - 1; i++) Message += contents[i]; 我只是想看看冷凝是否更容易。 c# linq — 西尔 source
244 是的,Enumerable.Skip可以满足您的需求: contents.Skip(1) 但是,如果要使用数组,则结果为IEnumerable <T>: contents.Skip(1).ToArray() — 巴什金 source 也可以将contents数组包装在该ArraySegment<>结构的新实例中。当时上面的回答是书面的,这不是特别有用的,但由于.NET 4.5的ArraySegment<>器具IList<>,IReadOnlyList<>以及它们的碱接口(包括IEnumerable<>),所以可以例如是通过ArraySegment<>向string.Join。 — 杰普·斯蒂格·尼尔森 尽管我讨厌Linq,但我决定忍受这一点,只是因为它是在静态构造函数中运行的,每次应用程序启动一次,因此不存在性能开销。 — Krythic
7 以下内容等效于您的for循环: foreach (var item in contents.Skip(1)) Message += item; — 丹·史蒂文斯 source 1 你想要var item吗?? — 乔
contents
数组包装在该ArraySegment<>
结构的新实例中。当时上面的回答是书面的,这不是特别有用的,但由于.NET 4.5的ArraySegment<>
器具IList<>
,IReadOnlyList<>
以及它们的碱接口(包括IEnumerable<>
),所以可以例如是通过ArraySegment<>
向string.Join
。