|
- char[] chars = {'H','e','l','l','o'};
- string str1 = new string(chars);
- String str2 = new String(chars);
- foreach (char c in str1)
- {
- Console.WriteLine(c);
复制代码
在C#中,string str1 = new string(chars); 中要传入 chars 是因为 string 类的构造函数需要一个 char 数组作为参数来创建一个新的字符串。具体来说,这个构造函数会将 char 数组中的所有字符按顺序组合成一个新的字符串。
我们可以进一步解释这个过程:
提到,String.Create 方法在创建字符串时,会根据数组长度分配内存,并将数组中的所有字节复制到新分配的字符串中。这表明 string 类的构造函数确实需要一个 char 数组来初始化字符串。
和 也提到,要从原始字符数据中构造一个 string,需要使用构造函数,并且这个构造函数需要一个指向 char 数组的指针。这进一步证实了 string 类的构造函数需要 char 数组作为参数。
和 解释了 foreach 循环的用法,它用于遍历集合中的每个元素。虽然这里没有直接提到 string 构造函数,但它们说明了 foreach 循环是如何遍历数组的,这与 string 构造函数需要 char 数组作为参数的概念是一致的。
因此,string str1 = new string(chars); 中传入 chars 是因为 string 类的构造函数需要一个 char 数组来初始化一个新的字符串。 |
|