随笔 - 2146  文章 - 97 评论 - 11767 trackbacks - 253


字符串数组:
using System;

class MyClass
{
    static void Main()
    {
        string[] arr = new string[3] { "aa", "bb", "cc" };

        foreach (string s in arr) Console.WriteLine(s); // aa/bb/cc

        Console.ReadKey();
    }
}


整数数组:
using System;

class MyClass
{
    static void Main()
    {
        int[] arr = { 11, 22, 33 };

        foreach (int i in arr) Console.WriteLine(i); // 11/22/33

        Console.ReadKey();
    }
}


初始化时维数可以省略; 若不省略, 得一致:
using System;

class MyClass
{
    static void Main()
    {
        int[] arr = new int[3] { 11, 22, 33 };

        foreach (int i in arr) Console.WriteLine(i); // 11/22/33

        Console.ReadKey();
    }
}


声明同时指定维数, 但暂不赋值:
using System;

class MyClass
{
    static void Main()
    {
        int[] arr = new int[3];

        foreach (int i in arr) Console.WriteLine(i); // 0/0/0

        arr[0] = 11;
        arr[1] = 22;
        arr[2] = 33;
        foreach (int i in arr) Console.WriteLine(i); // 11/22/33

        Console.ReadKey();
    }
}


先声明, 赋值时再确定维数:
using System;

class MyClass
{
    static void Main()
    {
        int[] arr;
        arr = new int[] { 11, 22, 33 };

        foreach (int i in arr) Console.WriteLine(i); // 11/22/33

        Console.ReadKey();
    }
}


可改变声明时的维数:
using System;

class MyClass
{
    static void Main()
    {
        int[] arr = new int[3];
        arr = new int[4] { 11, 22, 33, 44 };

        foreach (int i in arr) Console.WriteLine(i); // 11/22/33/44

        Console.ReadKey();
    }
}


如果用变量做数组维数, 一定要是 const:
using System;

class MyClass
{
    static void Main()
    {
        const int size = 3;

        int[] arr = new int[size] { 11, 22, 33};

        foreach (int i in arr) Console.WriteLine(i); // 11/22/33

        Console.ReadKey();
    }
}


二维数组初始化:
using System;

class MyClass
{
    static void Main()
    {
        int[,] arr = { {11,12,13,14}, {21,22,23,24}, {31,32,33,34} };

        foreach (int i in arr) Console.WriteLine(i);

        Console.ReadKey();
    }
}


二维数组赋值:
using System;

class MyClass
{
    static void Main()
    {
        int[,] arr = new int[3, 4];

        arr[0,0] = 11;
        arr[0,1] = 12;
        arr[0,2] = 13;
        arr[0,3] = 14;
        arr[1,0] = 21;
        arr[1,1] = 22;
        arr[1,2] = 23;
        arr[1,3] = 24;
        arr[2,0] = 31;
        arr[2,1] = 32;
        arr[2,2] = 33;
        arr[2,3] = 34;

        foreach (int i in arr) Console.WriteLine(i);

        Console.ReadKey();
    }
}


多维数组:
using System;

class MyClass
{
    static void Main()
    {
        int[,,] arr = new int[2, 3, 4];

        for (int x = 0; x < 2; x++) for (int y = 0; y < 3; y++) for (int z = 0; z < 4; z++)
            arr[x,y,z] = Convert.ToInt32(Convert.ToString(x+1) + Convert.ToString(y+1) + Convert.ToString(z+1));

        foreach (int i in arr) Console.WriteLine(i);

        Console.ReadKey();
    }
}


数组中的数组:
using System;

class MyClass
{
    static void Main()
    {
        int[][] arr = new int[3][];
        arr[0] = new int[2] { 11, 12 };
        arr[1] = new int[3] { 21, 22, 23 };
        arr[2] = new int[4] { 31, 32, 33, 34 };

        foreach (int[] ns in arr) foreach (int n in ns)
                Console.WriteLine(n);

        Console.ReadKey();
    }
}


posted on 2009-01-01 16:44  万一  阅读(...)  评论(...编辑  收藏