程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 數組和集合(C#)

數組和集合(C#)

編輯:C#入門知識

1. 數組概述       數組是包含若干相同類型的變量,這些變量都可以通過索引進行訪問。數組中的變量稱為數組的元素,數組能夠容納元素的數量稱為數組的長度。數組中的每個元素都具有唯一的索引與其對應。   2.  一維數組的聲明和使用            2.1 聲明:        基本語法:   [csharp]  Type[]arrayName;           示例代碼:聲明一個int類型的一維數組arr   [csharp]  int[] arr;      arr=new int[5]{1,2,3,4,5};  //初始化其中的元素分別為1,2,3,4,5           2.2 使用:              示例代碼:                      [csharp]   static void Main(string[] args)      {          int[] arr ={1,2,3,4,5};     //定義一個一維數組,並為其賦值          foreach (int n in arr)       //使用foreach語句循環遍歷一維數組中的元素               Console.WriteLine("{0}", n + "");          Console.ReadLine();      }                 運行結果:                                                    3. 二維數組的聲明和使用           3.1聲明:        基本語法:              [csharp]   type[ ,] arrayName;          示例代碼:聲明一個兩行兩列的二維數組並初始化              [csharp]   int[ , ]arr=new int[2,2]{{1,2},{3,4}};          3.2使用                3.2.1靜態二維數組                示例代碼:                 [csharp]  static void Main(string[] args)      {         int[,] arr = new int[2, 2] {{1,2},{3,4}};   //自定義一個二維數組         Console.Write("數組的行數為:");                  Console.Write(arr.Rank);              //獲得二維數組的行數         Console.Write("\n");         Console.Write("數組的列數為:");         Console.Write(arr.GetUpperBound(arr.Rank-1)+1); //獲得數組的列數         Console.Write("\n");         for (int i = 0; i < arr.Rank;i++)       //循環輸出二維數組中的每個元素         {             string str = "";             for (int j = 0; j <arr.GetUpperBound(arr.Rank - 1) + 1; j++)             {                 str = str +Convert.ToString(arr[i, j]) + " ";             }             Console.Write(str);             Console.Write("\n");          }         Console.ReadLine();      }                運行結果:                                      3.2.2動態二維數組                     示例代碼:                             [csharp]  static void Main(string[] args)      {            Console.Write("請輸入動態數組的行數:");            int row = Convert.ToInt32(Console.ReadLine());//定義動態數組的行數            Console.Write("請輸入動態數組的列數:");            int col = Convert.ToInt32(Console.ReadLine());//定義動態數組的列數                  int[,] arr = new int[row,col];   //根據定義的行數和列數定義動態數組            Console.WriteLine("結果:");            for (int i = 0; i< row; i++)            {                 for (int j = 0; j < col; j++)                 {                     Console.Write(i+j .ToString()+" ");  //輸出動態數組中的元素                 }                 Console.WriteLine();                 Console.ReadLine();             }        }                    運行結果:                                                                             4.  數組的基本操作            4.1如何遍歷數組               使用foreach語句可以實現數組的遍歷功能。在2.1的示例代碼中已有涉及,此處就不舉例了。          4.2 添加/刪除數組元素               可以利用數組的索引號對數組元素進行刪除,但是這種方法不能夠真正地實現對數組元素的刪除,一般不推薦使用。等以後學習了ArrayList類後,可以使用它來實現數組的刪除。          4.3 對數組進行排序(以後會是單獨的一章,詳細解釋)                   4.3.1 遍歷排序法:如冒泡法、直接插入法和選擇排序法等。                   4.3.2 Array類的Sort和Reverse排序法        4.4數組的合並和拆分 5.  ArrayList類          ArrayList類相當於一種高級的動態數組,它是Array類的升級版。位於System.Collections命名空間下,可以動態添加和刪除元素。           5.1 聲明              方式一:ArrayList List= new ArrayList();                                 示例代碼:             [csharp]   ArrayList list=new ArrayList();     //聲明一個ArrayList對象      for (int i=0;i <10;i ++)        //給其添加10個int類型的元素值           list .Add (i);                  方式二:ArrayList List=new ArrayList(arrayName);                                示例代碼:                  [csharp]   int[] arr = new int[] {1,2,3,4,5,6,7,8,9 };  //聲明一維數組      ArrayList list=new ArrayList (arr );    //將一維數組中元素添加到已聲明的ArrayList對象中               方式三:ArrayList List=new ArrayList(n);                               示例代碼:                  [csharp]  ArrayList list=new ArrayList (10);    //聲明一個ArrayList對象      for (int i=0;i <List.Count;i++)      //給其添加10個int類型的元素值      list .Add (i);           5.2使用                  5.2.1ArrayList元素的添加                     可以使用ArrayList類提供的Add方法和Insert方法。                       示例代碼:                           [csharp]   //使用Add方法(將對象添加到ArrayList集合的結尾處)      int[] arr = new int[] { 1,2, 3, 4, 5, 6 };      ArrayList list = newArrayList(arr);   //使用聲明的一維數組實例化一個ArrayList對象      list.Add(7);                           //為ArrayList對象添加對象            //使用Insert方法(將對象添加到ArrayList集合的指定索引處)      int[] arr2 = new int[] { 1,2, 3, 4, 5, 6 };      ArrayList list2 = newArrayList(arr2);   //使用聲明的一維數組實例化一個ArrayList對象      list.Insert(3,7);             //在ArrayList集合的指定位置添加一個元素                    5.2.2 ArrayList元素的刪除                   可以使用ArrayList類提供的Clear方法、Remove方法、RemoveAt方法和RemoveRange方法。這幾種方法的使用和5.2.1中元素的添加方法類似,只需要更換方法名即可,所以不再舉例了。                       其中,Clear方法用來從ArrayList中移除所有元素;Remove方法從中移除特定對象的第一個匹配項;RemoveAt方法用來移除指定索引處的元素;RemoveRangge方法用來移除一定范圍的元素。大家可視情況而選擇使用。                   5.2.3 ArrayList元素的查找                   元素的查找也是類似,可使用Contains方法、Indexof方法和LastIndexOf方法。   6.  Hashtable(哈希表)         哈希表表示鍵/值對的集合,這些鍵/值對根據鍵的哈希代碼進行組織。           6.1 Hashtable元素的添加       [csharp]   Hashtable hashtable=newHashtable();       hashtable.Add(“Sex”,”男”);           6.2 Hashtable元素的刪除    [csharp]   hashtable.Remove(“Sex”);           6.3 Hashtable元素的遍歷              與數組的遍歷相似,都可以使用foreach語句,但是由於Hashtable元素是一個鍵/值對,因此需要使用DictionaryEntry類型來進行遍歷。                 示例代碼:        [csharp]   static void Main(string[] args)      {          Hashtable hashtable = new Hashtable();    //實例化Hashtable對象          hashtable.Add("StuID","110");            //向Hashtable對象添加對象          hashtable.Add("name","Tom");                        hashtable.Add("Sex", "男");          Console.WriteLine("\t鍵\t值");                    foreach (DictionaryEntry dicEntry inhashtable)  //遍歷Hashtable中的元素          {               Console.WriteLine("\t"+dicEntry.Key +"\t"+dicEntry .Value );          }          Console.WriteLine();          Console.ReadLine();      }          運行結果:                                                

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved