隐式类型的数组是从数组初始值设定项中指定的元素推断出数组类型的那些数组。隐式数组类似于隐式变量。通常,在查询表达式中使用隐式类型的数组。
有关隐式类型数组的要点:
- 在C#中,隐式类型的数组不包含任何特定的数据类型。
- 在隐式类型的数组中,当用户使用任何数据类型初始化数组时,编译器会自动将这些数组转换为该数据类型。
- 通常使用var关键字声明的隐式类型数组,此处var不跟随[]。例如:
var iarray = new []{1, 2, 3};
- 可以将所有类型的数组类型的一维,多维数组和锯齿状数组等创建为隐式类型的数组。
- 在C#中,必须初始化隐式类型的数组并具有相同的数据类型。
示例1:下面的程序说明了如何使用一维隐式类型的数组。
// C# program to illustrate
// 1-D implicitly typed array
using System;
public class GFG {
// Main method
static public void Main()
{
// Creating and initializing 1-D
// implicitly typed array
var author_names = new[] {"Shilpa", "Soniya",
"Shivi", "Ritika"};
Console.WriteLine("List of Authors is: ");
// Display the data of the given array
foreach(string data in author_names)
{
Console.WriteLine(data);
}
}
}
输出:
List of Authors is:
Shilpa
Soniya
Shivi
Ritika
示例2:下面的程序说明了多维隐式类型数组的用法。
// C# program to illustrate
// 2-D implicitly typed array
using System;
public class GFG {
// Main method
static public void Main()
{
// Creating and initializing
// 2-D implicitly typed array
var language = new[, ] { {"C", "Java"},
{"Python", "C#"} };
Console.WriteLine("Programming Languages: ");
// taking a string
string a;
// Display the value at index [1, 0]
a = language[1, 0];
Console.WriteLine(a);
// Display the value at index [0, 2]
a = language[0, 1];
Console.WriteLine(a);
}
}
输出:
Programming Languages:
Python
Java
示例3:下面的代码演示了隐式类型的锯齿形数组的使用。
// C# program to illustrate
// implicitly typed jagged array
using System;
class GFG {
// Main method
static public void Main()
{
// Creating and initializing
// implicitly typed jagged array
var jarray = new[] {
new[] { 785, 721, 344, 123 },
new[] { 234, 600 },
new[] { 34, 545, 808 },
new[] { 200, 220 }
};
Console.WriteLine("Data of jagged array is :");
// Display the data of array
for (int a = 0; a < jarray.Length; a++) {
for (int b = 0; b < jarray[a].Length; b++)
Console.Write(jarray[a][b] + " ");
Console.WriteLine();
}
}
}
输出:
Data of jagged array is :
785 721 344 123
234 600
34 545 808
200 220