在c#字符串数组中,数组的各个元素是引用类型还是值类型?

时间:2012-03-16 10:56:08

标签: c# string

因为在任何数组中,数组本身是一个引用类型,并且数组的各个元素都是值类型......这也是字符串数组的情况吗?

5 个答案:

答案 0 :(得分:2)

System.String是参考类型。

答案 1 :(得分:2)

数组中的项是值,但它们可以是值类型或引用类型。

对于值类型数组,值本身存储在数组中。

对于引用类型数组,对象的引用存储在数组中。

因此,字符串数组实际上是一个字符串引用数组。

答案 2 :(得分:1)

数组是not值类型。并且没有理由他们的内容应该是值类型,除非它们实际上是值类型。 (例如int)。

int[] intArray;  // intArray is a reference type.  It holds ints, a value type
string[] stringArray; // stringArray is a reference type.  It holds strings, a reference type

编辑:引用页面中有关数组类型的具体引用:

  

数组类型是从抽象基类型派生的引用类型   阵列。由于这种类型实现了IEnumerable和IEnumerable,你   可以在C#中的所有数组上使用foreach迭代。

答案 3 :(得分:0)

  

数组的各个元素是值类型

错误。数组的基础元素类型可以是值或参考。

答案 4 :(得分:0)

string (C# Reference) - 在数组的情况下也是引用类型。
字符串类型表示零个或多个Unicode字符的序列。 string是.NET Framework中String的别名。

[]运算符可用于只读访问字符串的各个字符:

string str = "test";
char x = str[2];  // x = 's';

字符串文字是字符串类型,可以用引号和@ -quoted两种形式编写。带引号的字符串文字用双引号括起来(“)

查看msdn文档链接以获取有关此内容的详细信息。