激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - 深入解析C#中的交錯數組與隱式類型的數組

深入解析C#中的交錯數組與隱式類型的數組

2021-11-09 11:59C#教程網 C#

這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的朋友可以參考下

交錯數組
交錯數組是元素為數組的數組。交錯數組元素的維度和大小可以不同。交錯數組有時稱為“數組的數組”。以下示例說明如何聲明、初始化和訪問交錯數組。
下面聲明一個由三個元素組成的一維數組,其中每個元素都是一個一維整數數組:

?
1
int[][] jaggedArray = new int[3][];

必須初始化 jaggedArray 的元素后才可以使用它??梢匀缦吕境跏蓟撛兀?/p>

?
1
2
3
jaggedArray[0] = new int[5];
jaggedArray[1] = new int[4];
jaggedArray[2] = new int[2];

每個元素都是一個一維整數數組。第一個元素是由 5 個整數組成的數組,第二個是由 4 個整數組成的數組,而第三個是由 2 個整數組成的數組。
也可以使用初始值設定項用值填充數組元素,在這種情況下不需要數組大小。例如:

?
1
2
3
jaggedArray[0] = new int[] { 1, 3, 5, 7, 9 };
jaggedArray[1] = new int[] { 0, 2, 4, 6 };
jaggedArray[2] = new int[] { 11, 22 };

還可以在聲明數組時將其初始化,如:

?
1
2
3
4
5
6
  int[][] jaggedArray2 = new int[][]
{
  new int[] {1,3,5,7,9},
  new int[] {0,2,4,6},
  new int[] {11,22}
};

可以使用下面的速記格式。請注意:不能從元素初始化中省略 new 運算符,因為不存在元素的默認初始化:

?
1
2
3
4
5
6
  int[][] jaggedArray3 =
{
  new int[] {1,3,5,7,9},
  new int[] {0,2,4,6},
  new int[] {11,22}
};

交錯數組是數組的數組,因此其元素是引用類型并初始化為 null。
可以如下例所示訪問個別數組元素:

?
1
2
3
4
5
// Assign 77 to the second element ([1]) of the first array ([0]):
jaggedArray3[0][1] = 77;
 
// Assign 88 to the second element ([1]) of the third array ([2]):
jaggedArray3[2][1] = 88;

可以混合使用交錯數組和多維數組。下面聲明和初始化一個一維交錯數組,該數組包含大小不同的三個二維數組元素。有關二維數組的詳細信息,請參閱多維數組(C# 編程指南)。

?
1
2
3
4
5
6
int[][,] jaggedArray4 = new int[3][,]
{
  new int[,] { {1,3}, {5,7} },
  new int[,] { {0,2}, {4,6}, {8,10} },
  new int[,] { {11,22}, {99,88}, {0,9} }
};

可以如本例所示訪問個別元素,該示例顯示第一個數組的元素 [1,0] 的值(值為 5):

System.Console.Write("{0}", jaggedArray4[0][1, 0]);
方法 Length 返回包含在交錯數組中的數組的數目。例如,假定您已聲明了前一個數組,則此行:

System.Console.WriteLine(jaggedArray4.Length);
返回值 3。
本例生成一個數組,該數組的元素為數組自身。每一個數組元素都有不同的大小。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class ArrayTest
{
  static void Main()
  {
    // Declare the array of two elements:
    int[][] arr = new int[2][];
 
    // Initialize the elements:
    arr[0] = new int[5] { 1, 3, 5, 7, 9 };
    arr[1] = new int[4] { 2, 4, 6, 8 };
 
    // Display the array elements:
    for (int i = 0; i < arr.Length; i++)
    {
      System.Console.Write("Element({0}): ", i);
 
      for (int j = 0; j < arr[i].Length; j++)
      {
        System.Console.Write("{0}{1}", arr[i][j], j == (arr[i].Length - 1) ? "" : " ");
      }
      System.Console.WriteLine();     
    }
    // Keep the console window open in debug mode.
    System.Console.WriteLine("Press any key to exit.");
    System.Console.ReadKey();
  }
}

輸出:

?
1
2
Element(0): 1 3 5 7 9
Element(1): 2 4 6 8


隱式類型的數組
可以創建隱式類型的數組,在這樣的數組中,數組實例的類型是從數組初始值設定項中指定的元素推斷而來的。有關任何隱式類型變量的規則也適用于隱式類型的數組。
在查詢表達式中,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用。
下面的示例演示如何創建隱式類型的數組:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class ImplicitlyTypedArraySample
{
  static void Main()
  {
    var a = new[] { 1, 10, 100, 1000 }; // int[]
    var b = new[] { "hello", null, "world" }; // string[]
 
    // single-dimension jagged array
    var c = new[] 
{
  new[]{1,2,3,4},
  new[]{5,6,7,8}
};
 
    // jagged array of strings
    var d = new[] 
{
  new[]{"Luca", "Mads", "Luke", "Dinesh"},
  new[]{"Karen", "Suma", "Frances"}
};
  }
}

請注意,在上一個示例中,沒有在初始化語句的左側對隱式類型的數組使用方括號。另請注意,交錯數組就像一維數組那樣使用 new [] 進行初始化。
對象初始值設定項中的隱式類型的數組
創建包含數組的匿名類型時,必須在該類型的對象初始值設定項中對數組進行隱式類型化。在下面的示例中,contacts 是一個隱式類型的匿名類型數組,其中每個匿名類型都包含一個名為 PhoneNumbers 的數組。請注意,對象初始值設定項內部未使用 var 關鍵字。

?
1
2
3
4
5
6
7
8
9
10
11
    var contacts = new[]
{
  new {
      Name = " Eugene Zabokritski",
      PhoneNumbers = new[] { "206-555-0108", "425-555-0001" }
    },
  new {
      Name = " Hanying Feng",
      PhoneNumbers = new[] { "650-555-0199" }
    }
};

延伸 · 閱讀

精彩推薦
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
主站蜘蛛池模板: 毛片118极品美女写真 | 最近日本电影hd免费观看 | 污视频在线免费播放 | 日韩字幕 | 国产pron| 在线亚洲欧美日韩 | 久久久国产一区二区三区 | 热99热 | 色就操 | 在线视频 亚洲 | 精品人伦一区二区三区蜜桃网站 | 色av综合在线 | 国产成人综合在线视频 | 久久在线精品 | 国产精品亚洲综合一区二区三区 | 美女av在线免费观看 | 全黄性性激高免费视频 | 成人一级视频 | 精品国产一区二区在线 | 欧美黄成人免费网站大全 | av电影院在线观看 | 人禽l交免费视频 | 国产精品久久久久国产精品三级 | 午夜视频在线免费观看 | 国产精品美女久久久久久不卡 | 国产精品福利一区 | 成人免费网站在线观看 | 曰韩在线视频 | 一级电影免费 | www.99tv | av电影网在线观看 | 亚洲白嫩在线观看 | 久久精品中文字幕一区二区三区 | 99国产精品自拍 | 久久在线精品视频 | 一级大片一级一大片 | 蜜桃91丨九色丨蝌蚪91桃色 | 色网在线视频 | 羞羞视频免费网站 | 黄wwww| 一区二区三区精品国产 |