关于IEnumerable使用Append追加元素的一个小坑
电脑版发表于:2020/12/8 13:18
在使用IEnumerable的Append方法追加元素时:
class Program { static void Main(string[] args) { // // 摘要: // Appends a value to the end of the sequence. // // 参数: // source: // A sequence of values. // // element: // The value to append to source. // // 类型参数: // TSource: // The type of the elements of source. // // 返回结果: // A new sequence that ends with element. // // 异常: // T:System.ArgumentNullException: // source is null. //public static IEnumerable<TSource> Append<TSource>(this IEnumerable<TSource> source, TSource element); IEnumerable<People> peoples = new List<People>(); People people = new People() { Id = 1, Name = "黄大仙1" }; // 直接添加:peoples中呈现出来的效果是没有将people添加进去 peoples.Append<People>(people); // 接收添加后返回的结果:此时,result中可以看到包含了添加的people var result = peoples.Append<People>(people); // 总结:通过Append函数的摘要可以看出: // Appends a value to the end of the sequence.(添加一个值到序列的结尾) // A new sequence that ends with element.(返回一个结尾元素包含添加对象的新的序列) // 所以我们需要通过一个新的对象来接收返回的新序列 Console.ReadKey(); } } public class People { public int Id { get; set; } public String Name { get; set; } }