如何在C#中终止字符串?

Nav*_*r V 5 .net c# string null-terminated

这个程序抛出ArrayIndexOutOfBoundException.

string name = "Naveen";
int c = 0;
while( name[ c ] != '\0' ) {
    c++;
}
Console.WriteLine("Length of string " + name + " is: " + c);
Run Code Online (Sandbox Code Playgroud)

为什么会这样?如果字符串不以空值终止.如何在C#中处理字符串?如何在不使用string.Length财产的情况下获得长度?我在这里很困惑.!

Ric*_*der 5

C# 不像 C 和 C++ 那样使用 NUL 终止的字符串。您必须使用Length字符串的属性。

Console.WriteLine("Length of string " + name + " is: " + name.Length.ToString());
Run Code Online (Sandbox Code Playgroud)

或使用格式化程序

Console.WriteLine("Length of string '{0}' is {1}.", name, name.Length);  
Run Code Online (Sandbox Code Playgroud)

  • `.ToString()` 在第一行不是必需的 http://stackoverflow.com/a/3398653/1315444 (4认同)