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
     */
  • 相关阅读:
    Backbone学习之todos实现
    由$(this).attr('id')引出的一点感想
    JS类的实现
    JS设计模式之接口
    JS设计模式之工厂模式
    JS设计模式之序
    JS的继承
    you think you know javascript?
    js中的null和undefined
    作用域、闭包等概念的理解
  • 原文地址:https://www.cnblogs.com/yangai/p/5482345.html
Copyright © 2011-2022 走看看