2013年5月28日 星期二

ASP.NET (C#) 陣列的操作

using System;
using System.Collections;

public partial class _00_Basic : System.Web.UI.Page 
{
    //當頁面正在載入時所要執行動作。
    protected void Page_Load(object sender, EventArgs e)
    {
        //====  建立陣列資料  ==============================================

        //宣告一維字串陣列並加入內容。(內容多少決定大小)
        string[] arrStringA = { "A1", "A2", "A3", "A4" };

        //宣告一維字串陣列並設定大小與加入內容。
        string[] arrStringB = new string[4];
        arrStringB[0] = "B1"; arrStringB[1] = "B2"; arrStringB[2] = "B3"; arrStringB[3] = "B4";

        //宣告一維陣列清單會依照增加項目的多少而動態調整大小。
        ArrayList arrltStringC = new ArrayList();
        arrltStringC.Add("C1"); arrltStringC.Add("C2"); arrltStringC.Add("C3"); arrltStringC.Add("C4");

        //宣告一維整數陣列並加入內容。(內容多少決定大小)
        int[] arrIntA = { 1, 2, 3, 4 };

        //宣告一維整數陣列並設定大小與加入內容。
        int[] arrIntB = new int[4];
        arrIntB[0] = 11; arrIntB[1] = 12; arrIntB[2] = 13; arrIntB[3] = 14;

        //宣告二維字串陣列並加入內容。(內容多少決定大小)
        string[,] arrStringD = { { "a1", "a2", "a3" }, { "b1", "b2", "b3" } };

        //將字串內容依照特定符號分割成為一維陣列元素。
        string strWords = "a1 a2,a3.b1:b2,c1";
        string[] arrStringE = strWords.Split(new Char[] { ' ', ',', '.', ':' });
       
        //將陣列內的元素順序反轉。
        //Array.Reverse(arrStringA);
        //將陣列內的元素排序
        //Array.Soft(arrStringA);
        //在陣列內使用二分搜尋法,尋找指定資料。(使用之前必須先用Array.Soft()方法排序過,找到資料會傳回該index值)
        //Array.BinarySearch(arrStringA, "A3");
        //在陣列內搜尋資料,找到傳回給索引值。
        //Array.IndexOf(arrStringA, "A3");
        //從arr1陣列拷貝i個元素至arr2陣列。
        //Array.Copy(arr1, arr2, i);

        //====  讀取陣列資料  ==============================================

        //方法一、利用「元素長度」取得一維陣列內容值。
        for (int i = 0; i < arrStringA.Length; i++)
        {
            //輸出結果。
            Response.Write("方法一:" + arrStringA[i] + "
"); } //方法二、利用「特定維度」取得一維陣列內容值。從0開始算,表示一維度 for (int i = 0; i < arrStringA.GetLength(0); i++) { //輸出結果。 Response.Write("方法二:" + arrStringA[i] + "
"); } //方法三、利用「維度的上下限」取得一維陣列內容值。 for (int i = arrStringB.GetLowerBound(0); i < arrStringB.GetUpperBound(0) + 1; i++) { //輸出結果。 Response.Write("方法三:" + arrStringB[i] + "
"); } //方法四、利用「元素個數」取得一維陣列內容值。 for (int j = 0; j < (int)arrltStringC.Count; j++) { //輸出結果。 Response.Write("方法四:" + arrltStringC[j] + "
"); } //方法五、利用「集合迴圈」取得一維陣列內容值。 foreach (int intItem in arrIntA) { //輸出結果。 Response.Write("方法五:" + intItem.ToString() + "
"); } //方法六、利用「二層迴圈」取得二維陣列內容值。(Length=個數,Rank=維度) for (int x = 0; x < arrStringD.Rank; x++) { for (int y = 0; y < (arrStringD.Length / arrStringD.Rank); y++) { //輸出結果。 Response.Write("方法六:" + arrStringD[x, y] + "
"); } } //方法七、利用「集合迴圈」取得二維陣列內容值。 foreach (string strItem in arrStringD) { //輸出結果。 Response.Write("方法七:" + strItem + "
"); } //方法八、將字串內容依照特定符號所分割成為一維陣列元素讀取。 foreach (string strItem in arrStringE) { //當陣列元素項目不是空值時。 if (strItem.Trim() != "") { //輸出結果。 Response.Write("方法八:" + strItem + "
"); } } } }
轉載自 http://www.dotblogs.com.tw/wesley0917/archive/2010/12/21/20293.aspx