當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C# Array用法及代碼示例


Array 類提供了創建、操作、搜索和排序數組的方法。 Array 類不屬於System.Collections命名空間,但它仍然被視為一個集合,因為它基於列表接口。 Array 類是支持數組的語言實現的基類。

數組類的特點:

  • 在數組中,元素是數組的值,數組的長度是數組中存在的項目總數。
  • 數組的下界是其第一個元素的索引,下界的默認值為 0。
  • 數組的默認大小是2GB.
  • 具有相同數組類型的數組對象共享相同的 Type 對象。

例子:

C#


// C# program to creating an array
// of the string as coffee name, store
// coffee name in the store,
// and prints each value.
using System;
namespace geeksforgeeks {
class GFG {
    // Main Method
    public static void Main()
    {
        // declares an 1D Array of string
        string[] store;
        // allocating memory for coffee names.
        store = new string[] {"Americano, ", "Cafe au lait, ", 
                              "Espresso, ", "Cappuccino, ",
                              "Long Black, ", "Macchiato" };
        // Displaying Elements of the array
        Console.WriteLine("Different types of coffee: ");
        Console.WriteLine();
        foreach(string coffeename in store)
            Console.WriteLine(coffeename + " ");
    }
}
}
輸出:
Different types of coffee: 

Americano,  
Cafe au lait,  
Espresso,  
Cappuccino,  
Long Black,  
Macchiato

Properties

屬性 說明
IsFixedSize 獲取一個值,該值指示 Array 是否具有固定大小。
IsReadOnly 獲取一個值,該值指示 Array 是否為隻讀。
IsSynchronized 獲取一個值,該值指示對 Array 的訪問是否同步(線程安全)。
Length 獲取數組所有維度中的元素總數。
LongLength 獲取一個 64 位整數,表示 Array 所有維度中的元素總數。
Rank 獲取數組的排名(維數)。例如,一維數組返回 1,二維數組返回 2,依此類推。
SyncRoot 獲取可用於同步對 Array 的訪問的對象。

示例 1:

C#


// C# program to illustrate 
// Length property of Array class
using System;
namespace geeksforgeeks {
class GFG {
    // Main Method
    public static void Main()
    {
        // declares an 1D Array of string.
        string[] topic;
        // allocating memory for topic.
        topic = new string[] {"Array, ", "String, ", 
                              "Stack, ", "Queue, ",
                              "Exception, ", "Operators"};
        // Displaying Elements of the array
        Console.WriteLine("Topic of C#:");
        Console.WriteLine();
        // Here we calculate and print 
        // the length of the array, i.e. 6
        Console.WriteLine("Length of the array: {0}",
                                       topic.Length);
        foreach(string ele in topic)
            Console.WriteLine(ele + " ");
    }
}
}
輸出:
Topic of C#:

Length of the array: 6
Array,  
String,  
Stack,  
Queue,  
Exception,  
Operators

示例 2:

C#


// C# program to illustrate the
// Rank property of Array class
using System;
namespace geeksforgeeks {
class GFG {
    // Main Method
    public static void Main()
    {
        // declares an 1D Array of string.
        string[] topic;
        // allocating memory for topic.
        topic = new string[] {"Array, ", "String, ", 
                              "Stack, ", "Queue, ",
                              "Exception, ", "Operators" };
        // Displaying Elements of array
        Console.WriteLine("Topic of C#:");
        Console.WriteLine();
        // Rank property provides the dimension rank
        // here we use 1-D array so it return 1
        // if we use 2-D array then it will return 2
        Console.WriteLine("Rank of the array: {0}",
                                         topic.Rank);
        foreach(string ele in topic)
            Console.WriteLine(ele + " ");
    }
}
}
輸出:
Topic of C#:

Rank of the array: 1
Array,  
String,  
Stack,  
Queue,  
Exception,  
Operators

Method

方法 說明
AsReadOnly() 返回指定數組的隻讀包裝器。
BinarySearch() 使用二分搜索算法在一維排序數組中搜索值。
Clear() 將數組中的元素範圍設置為每種元素類型的默認值。
Clone() 創建數組的淺拷貝。
ConstrainedCopy() 從指定源索引開始複製數組中的一係列元素,並將它們粘貼到從指定目標索引開始的另一個數組中。保證在複製未完全成功時撤消所有更改。
ConvertAll() 將一種類型的數組轉換為另一種類型的數組。
Copy() 將一個數組中的一係列元素複製到另一個數組,並根據需要執行類型轉換和裝箱。
CopyTo() 將當前一維數組的所有元素複製到指定的一維數組中。
CreateInstance() 初始化 Array 類的新實例。
Empty() 返回一個空數組。
Equals() 確定指定對象是否等於當前對象。
Exists() 確定指定數組是否包含與指定謂詞定義的條件匹配的元素。
Find() 搜索與指定謂詞定義的條件匹配的元素,並返回整個數組中第一個出現的元素。
FindAll() 檢索與指定謂詞定義的條件匹配的所有元素。
FindIndex() 搜索與指定謂詞定義的條件相匹配的元素,並返回數組或其一部分中第一次出現的從零開始的索引。
FindLast() 搜索與指定謂詞定義的條件匹配的元素,並返回整個數組中最後一個出現的元素。
FindLastIndex() 搜索與指定謂詞定義的條件相匹配的元素,並返回數組或其一部分中最後一次出現的從零開始的索引。
ForEach() 對指定數組的每個元素執行指定的操作。
GetEnumerator() 返回數組的 IEnumerator。
GetHashCode() 用作默認的哈希函數。
GetLength() 獲取一個 32 位整數,表示 Array 指定維度中的元素數量。
GetLongLength() 獲取一個 64 位整數,表示 Array 指定維度中的元素數量。
GetLowerBound() 獲取數組中指定維度的第一個元素的索引。
GetType() 獲取當前實例的類型。
GetUpperBound() 獲取數組中指定維度的最後一個元素的索引。
GetValue() 獲取當前Array中指定元素的值。
IndexOf() 搜索指定對象並返回其在一維數組或數組中元素範圍中第一次出現的索引。
Initialize() 通過調用值類型的默認構造函數來初始化 value-type 數組的每個元素。
LastIndexOf() 返回一維數組或數組的一部分中最後一次出現的值的索引。
MemberwiseClone() 創建當前對象的淺拷貝。
Resize() 將一維數組的元素數量更改為指定的新大小。
Reverse() 反轉一維數組或數組的一部分中元素的順序。
SetValue() 將當前 Array 中的指定元素設置為指定值。
Sort() 對一維數組中的元素進行排序。
ToString() 返回表示當前對象的字符串。
(繼承自對象)
TrueForAll() 確定數組中的每個元素是否符合指定謂詞定義的條件。

示例 1:

C#


// C# program to illustrate the Reverse() Method
using System;
namespace geeksforgeeks {
class GFG {
    // Main Method
    public static void Main()
    {
        // declares an 1D Array of string.
        string[] topic;
        // allocating memory for topic.
        topic = new string[] {"Array, ", "String, ", 
                              "Stack, ", "Queue, ",
                              "Exception, ", "Operators" };
        // Displaying Elements of 
        // the array before reverse
        Console.WriteLine("Topic of C# before reverse:");
        Console.WriteLine();
        foreach(string ele in topic)
        {
            Console.WriteLine(ele + " ");
        }
        Console.WriteLine();
        // using Reverse() method to 
        // reverse the given array
        Array.Reverse(topic);
        // Displaying Elements of array after reverse
        Console.WriteLine("Topic of C# after reverse:");
        Console.WriteLine();
        foreach(string val in topic)
        {
            Console.WriteLine(val + " ");
        }
    }
}
}
輸出:
Topic of C# before reverse:

Array,  
String,  
Stack,  
Queue,  
Exception,  
Operators 

Topic of C# after reverse:

Operators 
Exception,  
Queue,  
Stack,  
String,  
Array,

示例 2:

C#


// C# program to illustrate the Sort() Method
using System;
namespace geeksforgeeks {
class GFG {
    // Main Method
    public static void Main()
    {
        // declares an 1D Array of string.
        string[] topic;
        // allocating memory for topic.
        topic = new string[] {"Array, ", "String, ", 
                              "Stack, ", "Queue, ",
                              "Exception, ", "Operators" };
        // Displaying Elements of the array before sort
        Console.WriteLine("Topic of C# before reverse:");
        Console.WriteLine();
        foreach(string ele in topic)
        {
            Console.WriteLine(ele + " ");
        }
        Console.WriteLine();
        // using Sort() method to
        // sort the given array
        Array.Sort(topic);
        // Displaying Elements of
        // array after sort
        Console.WriteLine("Topic of C# after reverse:");
        Console.WriteLine();
        foreach(string val in topic)
        {
            Console.WriteLine(val + " ");
        }
    }
}
}
輸出:
Topic of C# before reverse:

Array,  
String,  
Stack,  
Queue,  
Exception,  
Operators 

Topic of C# after reverse:

Array,  
Exception,  
Operators 
Queue,  
Stack,  
String,

參考:



相關用法


注:本文由純淨天空篩選整理自ankita_saini大神的英文原創作品 C# | Array Class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。