zoukankan      html  css  js  c++  java
  • 【C#学习笔记】 List.AddRange 方法

    [官方笔记]

    将指定集合的元素添加到 List 的末尾

    命名空间:System.Collections.Generic
    程序集:mscorlib(在 mscorlib.dll 中)

    public:
    void AddRange 
    (   IEnumerable<T>^ collection )

    collection : 一个集合,其元素应被添加到 List 的末尾。集合自身不能为 空引用(在 Visual Basic 中为 Nothing),

          但它可以包含为 空引用(在 Visual Basic 中为 Nothing) 的元素(如果类型 T 为引用类型)。

    备注:
     List 中会保留集合中元素的顺序。

    如果新的 Count(当前 Count 加上集合的大小)大于 Capacity,则会通过自动重新分配内部数组增大 List 的容量以容纳新元素,并在添加新元素之前将现有元素复制到新数组中。

    如果 List 可以在不增加 Capacity 的情况下容纳新元素,则此方法是 O(n) 运算,其中 n 是要添加的元素数。如果需要增加此容量以容纳新元素,则此方法变为 O(n + m) 运算,其中 n 是要添加的元素数,m 是 Count

    示例:

    using System;
    using System.Collections.Generic;
    
    public class Example
    {
        public static void Main()
        {
            string[] input = { "Brachiosaurus", 
                               "Amargasaurus", 
                               "Mamenchisaurus" };
    
            List<string> dinosaurs = new List<string>(input);
    
            Console.WriteLine("
    Capacity: {0}", dinosaurs.Capacity);
    
            Console.WriteLine();
            foreach( string dinosaur in dinosaurs )
            {
                Console.WriteLine(dinosaur);
            }
    
            Console.WriteLine("
    AddRange(dinosaurs)");
            dinosaurs.AddRange(dinosaurs);
    
            Console.WriteLine();
            foreach( string dinosaur in dinosaurs )
            {
                Console.WriteLine(dinosaur);
            }
    
            Console.WriteLine("
    RemoveRange(2, 2)");
            dinosaurs.RemoveRange(2, 2);
    
            Console.WriteLine();
            foreach( string dinosaur in dinosaurs )
            {
                Console.WriteLine(dinosaur);
            }
    
            input = new string[] { "Tyrannosaurus", 
                                   "Deinonychus", 
                                   "Velociraptor"};
    
            Console.WriteLine("
    InsertRange(3, input)");
            dinosaurs.InsertRange(3, input);
    
            Console.WriteLine();
            foreach( string dinosaur in dinosaurs )
            {
                Console.WriteLine(dinosaur);
            }
    
            Console.WriteLine("
    output = dinosaurs.GetRange(2, 3).ToArray()");
            string[] output = dinosaurs.GetRange(2, 3).ToArray();
            
            Console.WriteLine();
            foreach( string dinosaur in output )
            {
                Console.WriteLine(dinosaur);
            }
        }
    }
  • 相关阅读:
    LotusAdmin帮开发者节省两天开发时间,基于thinkphp6开发的rbac admin(原创)
    Linux自动化分区脚本
    解决github图片无法加载_加快github访问速度
    怎么彻底关闭flash助手弹窗?
    匹配得到A标签href的内容 亲测有效赶紧收藏
    不要再安装vmware-tools了,在 VMware 虚拟机中安装 open-vm-tools可以代替了
    使用root新建管理员用户
    关于我的博客
    C++静态全局变量问题
    SVN 提交子文件夹问题
  • 原文地址:https://www.cnblogs.com/nanwei/p/7152530.html
Copyright © 2011-2022 走看看