晨晓

关于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; }
    }


关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢