自从我最近才开始学习这种语言以来,在查看有关C#的一些教程时遇到了一个问题。我遇到了一个问题,一旦我反转了一个字符串,就不得不使用新的字符串才能将其实际值存储在另一个变量中。
为什么需要使用'new string()'?在不同的编程语言中,我从来没有遇到过使用'new string()'的需要。在此先感谢:)
// C#
char[] reversedName = name.ToCharArray();
Array.Reverse(reversedName);
string result = new string(reversedName);
答案 0 :(得分:0)
String
是一个类,与任何面向对象的编程语言中的其他类一样,我们可以像创建任何类型的对象一样使用new
关键字来创建它的对象。
在上述特定情况下,您有一个char
数组,而String
类具有一个构造函数重载,该构造函数将char[]
作为输入并创建一个String
。因此,您可以使用new String
来调用构造函数。
因此,您正在说的是使用它的构造函数中提供的char[]
创建一个字符串类型的对象。
答案 1 :(得分:0)
您可以-和您提到的任何其他语言一样-当然也可以使用类似的东西:
string m = "Hello World".
但是您的reversedName
是 char
的数组,不能直接转换为string
。因此以下操作将无效:
string myString = "Hello World".ToCharArray();
因为ToCharArray
-顾名思义-返回char[]
,而不是string
,并且两者之间没有转换。
这就是为什么您需要使用constructor that accepts an array of char创建新字符串的原因。