Array類" />

国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#==>Array類

2019-11-17 03:59:00
字體:
來源:轉載
供稿:網友

1,Array常用屬性 Length 返回元素個數,LongLength 當元素個數超出int型范圍時使用,Rank返回數組的維數

2,Array類是一個抽象類,不能使用構造函數來創建數組。

     但可以這樣做

view plaincopy to clipboardPRint?
Array iArray = new int[] { 1, 2, 3, 4 };  
for (int i = 0; i < iArray.Length; i++)  
{  
    Console.WriteLine(iArray.GetValue(i));  

Array iArray = new int[] { 1, 2, 3, 4 };
for (int i = 0; i < iArray.Length; i++)
{
    Console.WriteLine(iArray.GetValue(i));
}

    或者使用靜態方法CreateInstance,尤其是當事先不知道數組元素類型的時候,可以這樣定義數組

    其中SetValue方法用于設定,GetValue方法用于讀取

view plaincopy to clipboardprint?
Array array = Array.CreateInstance(typeof(string), 3);  
array.SetValue("Tom", 0);  
array.SetValue("Jack", 1);  
array.SetValue("Bill", 2);  
 
for (int i = 0; i < array.Length; i++)  
{  
    Console.WriteLine(array.GetValue(i));     

            Array array = Array.CreateInstance(typeof(string), 3);
            array.SetValue("Tom", 0);
            array.SetValue("Jack", 1);
            array.SetValue("Bill", 2);

            for (int i = 0; i < array.Length; i++)
            {
                Console.WriteLine(array.GetValue(i));  
            }

※該方法還可以用于創建多維數組

3,數組的復制,使用Clone()方法,

     如果數組元素是值類型的,就會復制所有的值,

     如果數組元素是引用類型,就復制引用

     ※ 如果需要包含引用類型的數組的深副本就必須迭代數組,創建新對象

為了說明引用類型的復制,見下類

view plaincopy to clipboardprint?
public class Person  
{  
    public string FirstName { get; set; }  
    public string LastName { get; set; }  
 
    public Person(string FirstName, string LastName)  
    {  
        //參數與類的成員同名的時,用this指代類成員(個人建議最好不這樣用)  
        this.FirstName = FirstName;  
        this.LastName = LastName;  
    }  
 
    //重寫ToString類  
    public override string ToString()  
    {  
        return string.Format("{0} {1}", FirstName, LastName);  
    }  
}  
 
 
class Program  
{  
    static void Main(string[] args)   
    {  
        Person[] persons1 = new Person[2];  
        persons1[0] = new Person("Tom", "lin");  
        persons1[1] = new Person("Jack", "Rader");  
 
        Person[] persons2 = persons1.Clone() as Person[];  
 
        persons2[0].FirstName = "復制2";  
 
        //調用復制源數組  
        Console.WriteLine(persons1[0].FirstName);  
          
        //結果為 復制2,而不是Tom,可見Clone方法僅僅復制了引用  
 
        Console.Read();  
    }  

    public class Person
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }

        public Person(string FirstName, string LastName)
        {
            //參數與類的成員同名的時,用this指代類成員(個人建議最好不這樣用)
            this.FirstName = FirstName;
            this.LastName = LastName;
        }

        //重寫ToString類
        public override string ToString()
        {
            return string.Format("{0} {1}", FirstName, LastName);
        }
    }


    class Program
    {
        static void Main(string[] args)
        {
            Person[] persons1 = new Person[2];
            persons1[0] = new Person("Tom", "lin");
            persons1[1] = new Person("Jack", "Rader");

            Person[] persons2 = persons1.Clone() as Person[];

            persons2[0].FirstName = "復制2";

            //調用復制源數組
            Console.WriteLine(persons1[0].FirstName);
           
            //結果為 復制2,而不是Tom,可見Clone方法僅僅復制了引用

            Console.Read();
        }
    }

3,Array類也實現了數組中元素的冒泡排序,Sort方法.

    對于簡單的數組可以直接排序
    Array.Sort(iArray);   其中, iArray為一個int型數組


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜兴市| 冕宁县| 沁水县| 丽水市| 巨野县| 张家口市| 新巴尔虎右旗| 临清市| 陵川县| 泰来县| 纳雍县| 文化| 永定县| 乌审旗| 钟山县| 北碚区| 惠州市| 民权县| 淮南市| 左权县| 冷水江市| 巴东县| 廊坊市| 南江县| 阜城县| 洪洞县| 宜阳县| 兰西县| 阳朔县| 木里| 汶上县| 旌德县| 论坛| 兴文县| 蕲春县| 盘山县| 开化县| 天等县| 陆河县| 余干县| 桂林市|