6

在 VB.NET 中,您可以实例化并立即使用这样的数组:

Dim b as Boolean = {"string1", "string2"}.Contains("string1")

但是,在 c# 中,您似乎必须这样做:

bool b = new string[] { "string1", "string2" }.Contains("string1");

c# 是否具有等效的速记语法,它使用类型推断来确定数组的类型,而不必显式声明它?

4

2 回答 2

19

隐式类型数组不必包含它们的类型,只要它可以被推断

bool b = new [] { "string1", "string2" }.Contains("string1");
于 2012-12-20T13:41:09.983 回答
3

它叫Implicitly Typed Arrays

您可以创建一个隐式类型数组,其中数组实例的类型是从数组初始值设定项中指定的元素推断出来的。任何隐式类型变量的规则也适用于隐式类型数组。

static void Main()
    {
        var a = new[] { 1, 10, 100, 1000 }; // int[] 
        var b = new[] { "hello", null, "world" }; // string[] 
    }

您也可以将它用于锯齿状阵列。

于 2012-12-20T13:46:48.807 回答