中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#基礎知識整理:基礎知識(14) 數組

發布時間:2020-06-18 12:47:06 來源:網絡 閱讀:242 作者:yangyoushan 欄目:編程語言

無論哪種語言,肯定會有集合的概念。而最簡單,最直觀的集合應該就是數組了,數組是在內存中連續的一段空間。看看C#中數組

的定義。
1、int[] intArry ;
 intArry= new int[6];
 這里聲明了一個int數組類型變量intArry,并保存一個具有6個單元的int數組對象;
 int[,] intArry2 = new int[3, 4];
 聲明一個int二維數組類型變量,并初始化一個3行4列的數組對象;
 int[][] intArry3 = new int[9][];
 聲明一個數組單元為int數組類型的數組變量,每個數組元素是一個int數組類型的對象引用。
 因為是面向對象語言,上面提到了引用和對象。其實:
 1、.net Frameword數組不是一種單純的數據結構,而是一個類型,叫數組類型;
 2、.net Framework中的數組變量保存著引用到數組類型對象的引用,也就是說數組是一個對象。
所有.net Framework數組(int[],string[],object[])都是從Array繼承的子類。一般不直接使用Array類,因為.net Framework下

的各類語言,當然也包括C#,將數組對象映射為各自的特殊語法了,比如int[],string[]。
數組主要有兩個各屬性:索引和長度,也就是index和length,索引用于訪問數組對象中的元素,長度也就是數組的長度。
看一段聯系代碼:

public class MyArray      {          /// <summary>          /// 定義數組測試          /// </summary>          public void TestInt()          {              int[] intArry1 = null;                intArry1 = new int[6];                int[,] intArry2 = new int[3, 4];                int[][] intArry3 = new int[9][];          }                    /// <summary>          /// 值類型數組轉引用類型數組測試          /// </summary>          /// <param name="array"></param>          /// <returns></returns>          public static object[] Int32ToArrayOfObject(int[] array)          {              object[] objArray = new object[array.Length];                for (int i = 0; i < array.Length; i++)              {                  objArray[i] = array[i];              }                return objArray;          }          /// <summary>          /// 數組的主要特性測試          /// </summary>          public static void MainTest()          {              //聲明一個包含是個元素的字符串型數組              string[] sArray = new string[10];              //訪問數組              //賦值              for (int i = 0; i < sArray.Length; i++)              {                  sArray[i] = @"string" + i;              }                ConsoleToClientString(sArray);                //另一種方式聲明數組,所謂的枚舉法              sArray = new string[] { "TestString0", "TestString1", "TestString2" };                ConsoleToClientString(sArray);                //數組復制              string[] newSArray = sArray.Clone() as string[];                ConsoleToClientString(newSArray);                //使用Array的CreateInstance方法聲明10元素的×××數組              int[] intArray = Array.CreateInstance(typeof(int), 10) as int[];                for (int i = 0; i < intArray.Length; i++)              {                  intArray[i] = i;              }                ConsoleToClientInt(intArray);                //數組之間的復制,指定位置,指定長度              int[] newIntArray = new int[20];                Array.Copy(intArray, 3, newIntArray, 4, intArray.Length - 3);                ConsoleToClientInt(newIntArray);                object[] objArray = sArray;                ConsoleToClientObject(objArray);                objArray = Int32ToArrayOfObject(intArray);                ConsoleToClientObject(objArray);                //數組的數組              int[][] intArrayArray = new int[9][];                Console.WriteLine("數組長度:" + intArrayArray.Length);                //賦值              for (int i = 1; i < 10; i++)              {                  intArrayArray[i - 1] = new int[i];                    for (int j = 1; j <= i; j++)                  {                      intArrayArray[i - 1][j - 1] = i * j;                  }              }                ConsoleToClientArrayArrayInt(intArrayArray);                            //二維數組              int[,] intArray2D = new int[9, 9];                Console.WriteLine(string.Format("二維數組 長度:{0},維數:{1}*{2}", intArray2D.Length,     intArray2D.GetLength(0), intArray2D.GetLength(1)));                for (int i = 1; i < 10; i++)              {                  for (int j = 1; j <= i; j++)                  {                      intArray2D[i - 1, j - 1] = i * j;                  }              }                int count = 0;                foreach (int item in intArray2D)              {                  if (item > 0)                  {                      Console.Write("{0,2}", item);                  }                    if (++count >= 9)                  {                      Console.WriteLine();                        count = 0;                  }              }          }            static void ConsoleToClientArrayArrayInt(int[][] intArrayArray)          {              foreach (int[] item1 in intArrayArray)              {                  foreach (int item2 in item1)                  {                      Console.Write("{0,2}", item2);                  }                    Console.WriteLine();              }                Console.WriteLine();          }            static void ConsoleToClientString(string[] sArray)          {              foreach (string item in sArray)              {                  Console.Write(item + @",");              }                Console.WriteLine();          }            static void ConsoleToClientInt(int[] intArray)          {              foreach (int item in intArray)              {                  Console.Write(item + @",");              }                Console.WriteLine();          }            static void ConsoleToClientObject(object[] objArray)          {              foreach (object item in objArray)              {                  Console.Write(item.ToString() + @",");              }                Console.WriteLine();          }        }

調用

    class Program      {          static void Main(string[] args)          {              MyArray.MainTest();                Console.ReadLine();          }      }


結果

C#基礎知識整理:基礎知識(14) 數組
由上可以知道:
數組有引用類型數組和值類型數組,對于引用類型數組,元素用于保存對象的引用,初始化值為null;對于值類型數組,元素保存

對象的值,對于數字類型初始化值為0。
數組有維度,但是多維數組和數組的數組是不同的概念,intArrayArray和intArray2D是不同的。數組的數組表示一個m*n的行列式

,多維數組則是每個元素都是一個數組對象的數組。
數組和其他集合類一樣都是是實現了ICollection接口,都具有枚舉和迭代功能。

代碼下載:http://download.csdn.net/detail/yysyangyangyangshan/4640445

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

浦北县| 平凉市| 公主岭市| 大厂| 罗平县| 齐河县| 满洲里市| 错那县| 广东省| 新巴尔虎左旗| 依安县| 台东县| 泉州市| 周至县| 互助| 成都市| 安国市| 横峰县| 大姚县| 龙胜| 长岭县| 修文县| 贵阳市| 达孜县| 揭阳市| 南部县| 珠海市| 鹤壁市| 太湖县| 遂昌县| 开鲁县| 中宁县| 达州市| 友谊县| 吉木萨尔县| 彭水| 南木林县| 龙山县| 金平| 邵武市| 望谟县|