zoukankan      html  css  js  c++  java
  • c# List AddRange

    https://msdn.microsoft.com/zh-cn/library/z883w3dc(v=vs.80).aspx

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

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

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

    List.AddRange :将指定集合的元素添加到 List 的末尾。

    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);
            }
        }
    }
    
    /* This code example produces the following output:
    
    Capacity: 3
    
    Brachiosaurus
    Amargasaurus
    Mamenchisaurus
    
    AddRange(dinosaurs)
    
    Brachiosaurus
    Amargasaurus
    Mamenchisaurus
    Brachiosaurus
    Amargasaurus
    Mamenchisaurus
    
    RemoveRange(2, 2)
    
    Brachiosaurus
    Amargasaurus
    Amargasaurus
    Mamenchisaurus
    
    InsertRange(3, input)
    
    Brachiosaurus
    Amargasaurus
    Amargasaurus
    Tyrannosaurus
    Deinonychus
    Velociraptor
    Mamenchisaurus
    
    output = dinosaurs.GetRange(2, 3).ToArray()
    
    Amargasaurus
    Tyrannosaurus
    Deinonychus
     */
  • 相关阅读:
    [转载]SQL Server行列转换实现
    [转载]依赖注入那些事
    [转载]MVC、MVP以及Model2(下)
    [转载]MVC、MVP以及Model2(上)
    SQL Server中CROSS APPLY和OUTER APPLY应用
    Open XML操作Excel导入数据
    centos7 firewall-cmd 理解多区域配置中的 firewalld 防火墙
    centos7 firewall-cmd 用活firewalld防火墙中的zone
    个税起征点上调,你每月能省多少?最后还有点凉水
    2018年中国500强排行榜
  • 原文地址:https://www.cnblogs.com/yangai/p/5482345.html
Copyright © 2011-2022 走看看