zoukankan      html  css  js  c++  java
  • c#清空数组&初始化数组&动态数组

    清空数组>>>Array.Clear [去MSDN查看]

    1 string[] str = new string[2];
    2 for (int i = 0; i < str.Length; i++)
    3     str[i] = i.ToString();
    4 Array.Clear(str, 0, str.Length);
    5 for (int i = 0; i < str.Length; i++)
    6     Console.WriteLine(string.IsNullOrEmpty(str[i]) ? "null" : str[i]);
    7 //输出结果:
    8 //null
    9 //null

    初始化数组>>>Initialize [去MSDN查看]

    只是用于初始化,如果数组子项已经被初始化,那么不会改变它的值.(删除下面代码 x[1] = 6; 试试)

     1 int[] x = new int[2];
     2 int[] y = new int[2];
     3 x[0] = 5; x[1] = 6;
     4 x.Initialize();
     5 y.Initialize();
     6 for (int i = 0; i < x.Length; i++)
     7     Console.WriteLine("x:{0}  y:{1}", x[i], y[i]);
     8 //输出结果:
     9 //x:5   y:0
    10 //x:6   y:0

    动态修改数组大小>>>Array.Resize [去MSDN查看]

    处理流程是:先创建一个新的数组,然后把旧数组赋值过去.

     1 int[] x = new int[2];
     2 x[0] = 5; x[1] = 6;
     3 Array.Resize(ref x, x.Length + 2);
     4 for (int i = 0; i < x.Length; i++)
     5     Console.WriteLine("x[{0}]={1}",i, x[i]);
     6 //输出结果:
     7 //x[0]=5
     8 //x[1]=6
     9 //x[2]=0
    10 //x[3]=0

    如果数组较大,性能影响明显,建议用List<>的AddRange方法. [去MSDN查看]

     1 List<int> lst = new List<int>();
     2 lst.Add(3); lst.Add(4);
     3 int[] x = new int[2];
     4 x[0] = 5; x[1] = 6;
     5 lst.AddRange(x);
     6 for (int i = 0; i < lst.Count; i++)
     7     Console.WriteLine("lst[{0}]={1}", i, lst[i]);
     8 //输出结果:
     9 //lst[0]=3
    10 //lst[1]=4
    11 //lst[2]=5
    12 //lst[3]=6

    关于Array数组复制拷贝,倒叙,排序等,详情参见MSDN

  • 相关阅读:
    LM算法学习笔记(一)
    USB3.0剖析(锆石科技FPGA)
    USB2.0系列(锆石科技FPGA)
    异步FIFO
    总线时钟同步
    [已解决]Mac下Anaconda-Navigator闪退问题
    [已解决]Mac下运行spyder提示"Python 意外退出"
    博客园账号被盗
    unhandled event loop exception解决方案
    初识ListView
  • 原文地址:https://www.cnblogs.com/xiii/p/7050010.html
Copyright © 2011-2022 走看看