// get headers and data togetherIEnumerable<string[]> headers = new List<string[]> { Getheaders()};var all = headers.Concat(GetData());
呸.有没有更好的办法?而你如何处理附加值的相反情况呢?
解决方法 我写了自定义扩展方法来做到这一点:public static IEnumerable<T> Append<T>(this IEnumerable<T> source,T item){ foreach (T i in source) yIEld return i; yIEld return item;}public static IEnumerable<T> Prepend<T>(this IEnumerable<T> source,T item){ yIEld return item; foreach (T i in source) yIEld return i;}
在你的情况下,你会写:
var all = GetData().Prepend(Getheaders());
正如chilltemp评论的那样,这并不会使原始集合变异.在真正的linq时尚中,它会生成一个新的IEnumerable< T>.
注意:建议对源进行一个热门的空参数检查,但为了简洁起见,未显示.
总结以上是内存溢出为你收集整理的c# – 在IEnumerable中附加或预先添加单个值的简单方法是什么?全部内容,希望文章能够帮你解决c# – 在IEnumerable中附加或预先添加单个值的简单方法是什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)