.net 基礎知識大雜燴(4) ——數組

來源:互聯網
上載者:User
數組

任務 C# VB
建立一個長度為5的一維數組,使用預設值作為初值 int[] ages = new int[5];
Console.WriteLine(ages.Length); //=> 5
Console.WriteLine(ages.Rank);   //=> 1
Console.WriteLine(ages.GetLowerBound(0)); // => 0
Console.WriteLine(ages.GetUpperBound(0)); // => 4
Dim ages(4) As Integer
Console.WriteLine(ages.Length)  '=> 5
Console.WriteLine(ages.Rank)  '=> 1
Console.WriteLine(ages.GetLowerBound(0))  ' => 0
Console.WriteLine(ages.GetUpperBound(0))  '=> 4
建立一個長度為5的一維數組,指定初始值 int[] ages = new int[5] { 1, 3, 5, 7, 9 }; // OK
int[] ages1 = new int[] { 1, 3, 5, 7, 9 }; // OK
int[] ages2 = new int[6] { 1, 3, 5, 7, 9 }; // 編譯錯誤
Console.WriteLine(ages.Length); //=> 5
Console.WriteLine(ages.Rank);   //=> 1
Console.WriteLine(ages.GetLowerBound(0)); // => 0
Console.WriteLine(ages.GetUpperBound(0)); // => 4
Dim ages() As Integer = New Integer(4) {1, 3, 5, 7, 9} ' OK
Dim ages1() As Integer = New Integer() {1, 3, 5, 7, 9} ' OK
Dim ages2() As Integer = New Integer(5) {1, 3, 5, 7, 9} ' 編譯錯誤
Console.WriteLine(ages.Length)  '=> 5
Console.WriteLine(ages.Rank)  '=> 1
Console.WriteLine(ages.GetLowerBound(0))  ' => 0
Console.WriteLine(ages.GetUpperBound(0))  '=> 4
建立一個2行3列二維數組,使用預設值作為初值 int[,] t = new int[2, 3];
Console.WriteLine(t.Length); //=> 6
Console.WriteLine(t.Rank);   //=> 2
Console.WriteLine(t.GetLength(0)); // => 2
Console.WriteLine(t.GetLowerBound(0)); // => 0
Console.WriteLine(t.GetUpperBound(0)); // => 1
Console.WriteLine(t.GetLowerBound(1)); // => 0
Console.WriteLine(t.GetUpperBound(1)); // => 2
Console.WriteLine(t.GetLength(1)); // => 3
Dim t(1, 2) As Integer
Console.WriteLine(t.Length)  '=> 6
Console.WriteLine(t.Rank)  '=> 2
Console.WriteLine(t.GetLength(0))  '=> 2
Console.WriteLine(t.GetLowerBound(0))  '=> 0
Console.WriteLine(t.GetUpperBound(0))  '=> 1
Console.WriteLine(t.GetLowerBound(1))  '=> 0
Console.WriteLine(t.GetUpperBound(1))  '=> 2
Console.WriteLine(t.GetLength(1))  '=> 3
建立一個2行3列二維數組,指定初始值 int[,] t = new int[2,3] { { 1, 2, 3 },
                          { 4, 5, 6 } };
int[,] t1 = new int[,] { { 1, 2, 3 },
                         { 4, 5, 6 } };
Console.WriteLine(t.Length); //=> 6
Console.WriteLine(t.Rank);   //=> 2
Console.WriteLine(t.GetLength(0)); // => 2
Console.WriteLine(t.GetLowerBound(0)); // => 0
Console.WriteLine(t.GetUpperBound(0)); // => 1
Console.WriteLine(t.GetLowerBound(1)); // => 0
Console.WriteLine(t.GetUpperBound(1)); // => 2
Console.WriteLine(t.GetLength(1)); // => 3
Dim t(,) As Integer = New Integer(1, 2) {{1, 2, 3}, _
                                         {4, 5, 6}}
Dim t1(,) As Integer = New Integer(,) {{1, 2, 3}, _
                                       {4, 5, 6}}
Console.WriteLine(t.Length)  '=> 6
Console.WriteLine(t.Rank)  '=> 2
Console.WriteLine(t.GetLength(0))  '=> 2
Console.WriteLine(t.GetLowerBound(0))  '=> 0
Console.WriteLine(t.GetUpperBound(0))  '=> 1
Console.WriteLine(t.GetLowerBound(1))  '=> 0
Console.WriteLine(t.GetUpperBound(1))  '=> 2
Console.WriteLine(t.GetLength(1))  '=> 3
建立一個長度為5下標為1的一維數組,使用預設值作為初值 Array t = Array.CreateInstance(typeof(string), new int[] { 5 }, new int[] { 1 });
Console.WriteLine(t.Length); //=> 5
Console.WriteLine(t.Rank);   //=> 1
Console.WriteLine(t.GetLength(0)); // => 5
Console.WriteLine(t.GetLowerBound(0)); // => 1
Console.WriteLine(t.GetUpperBound(0)); // => 5
Dim t As Array = Array.CreateInstance(GetType(Integer), New Integer() {5}, New Integer() {1})
Console.WriteLine(t.Length)  '=> 5
Console.WriteLine(t.Rank)  '=> 1
Console.WriteLine(t.GetLength(0))  '=> 5
Console.WriteLine(t.GetLowerBound(0))  '=> 1
Console.WriteLine(t.GetUpperBound(0))  '=> 5
建立一個2行3列下標為1的二維數組,使用預設值作為初值 int[,] t = (int[,])Array.CreateInstance(typeof(int), new int[] {2,3}, new int[] {1,1});
Console.WriteLine(t.Length); //=> 6
Console.WriteLine(t.Rank);   //=> 2
Console.WriteLine(t.GetLength(0)); // => 2
Console.WriteLine(t.GetLowerBound(0)); // => 1
Console.WriteLine(t.GetUpperBound(0)); // => 2
Console.WriteLine(t.GetLowerBound(1)); // => 1
Console.WriteLine(t.GetUpperBound(1)); // => 3
Console.WriteLine(t.GetLength(1)); // => 3
Dim t(,) As Integer = Array.CreateInstance(GetType(Integer), New Integer() {2, 3}, New Integer() {1, 1})
Console.WriteLine(t.Length)  '=> 6
Console.WriteLine(t.Rank)  '=> 2
Console.WriteLine(t.GetLength(0))  '=> 2
Console.WriteLine(t.GetLowerBound(0))  '=> 1
Console.WriteLine(t.GetUpperBound(0))  '=> 2
Console.WriteLine(t.GetLowerBound(1))  '=> 1
Console.WriteLine(t.GetUpperBound(1))  '=> 3
Console.WriteLine(t.GetLength(1))  '=> 3
改變數組長度 int[] t = new int[2];
Array.Resize(ref t, 3);
Console.WriteLine(t.Length); //=> 3
Console.WriteLine(t.Rank);   //=> 1
Console.WriteLine(t.GetLength(0)); // => 3
Console.WriteLine(t.GetLowerBound(0)); // => 0
Console.WriteLine(t.GetUpperBound(0)); // => 2
Dim t(2) As Integer
Array.Resize(t, 3)
Console.WriteLine(t.Length)  '=> 3
Console.WriteLine(t.Rank)  '=> 1
Console.WriteLine(t.GetLength(0))  '=> 3
Console.WriteLine(t.GetLowerBound(0))  '=> 0
Console.WriteLine(t.GetUpperBound(0))  '=> 2
參考型別數組的強制類型轉換 string[] s = new string[3];
object[] os = s;
s = (string[])os;
Dim s(2) As String
Dim os() As Object = s
s = os
實值型別數組的強制類型轉換(VS2005) int[] a = new int[2];
decimal[] da1 = a; // 編譯錯誤
decimal[] da2 = (int[])a; // 編譯錯誤
decimal[] da = Array.ConvertAll(a,
    new Converter(
        delegate(int old)
        {
            return old;
        })); // OK
Dim a(2) As Integer
Dim da() As Decimal = Array.ConvertAll(a, _
    New Converter(Of Integer, Decimal)(AddressOf ConvertInt))

Function ConvertInt(ByVal old As Integer) As Decimal
    Return old
End Function
實值型別數組的強制類型轉換(VS2008) int[] a = new int[2];
decimal[] da = Array.ConvertAll(a,
    new Converter(old => old));
Dim a(2) As Integer
Dim da() As Decimal = Array.ConvertAll(Of Integer, Decimal)(a, _
    New Converter(Of Integer, Decimal)(Function(old) old))
建立一個交錯數組(即數組的數組) int[][] a = new int[2][];
Console.WriteLine(a[0] == null); //=> True
Dim a(2)() As Integer
Console.WriteLine(a(0) Is Nothing) '=> True
建立一個交錯數組,並初始化(例1) int[][] a = new int[2][] { new int[2], new int[3] };
Console.WriteLine(a[0].Length); //=> 2
Console.WriteLine(a[1].Length); //=> 3
Dim m(1) As Integer
Dim n(2) As Integer
Dim a()() As Integer = New Integer(1)() {m, n}
Console.WriteLine(a(0).Length) '=> 2
Console.WriteLine(a(1).Length) '=> 3
建立一個交錯數組,並初始化(例2) int[][] a = new int[2][] { new int[2] { 1, 2 },
                           new int[3] { 11, 22, 33 } };
Console.WriteLine(a[0][0]); //=> 1
Console.WriteLine(a[1][2]); //=> 33
Dim m() As Integer = New Integer(1) {1, 2}
Dim n() As Integer = New Integer(2) {11, 22, 33}
Dim a()() As Integer = New Integer(1)() {m, n}
Console.WriteLine(a(0)(0)) '=> 1
Console.WriteLine(a(1)(2)) '=> 33

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.