String.Length是如何在C#中实现的?

时间:2011-06-28 18:44:09

标签: c#

根据我的理解,C#字符串末尾没有空终止。那么,Length如何知道一个字符串有多少个字符?

谢谢, 坚

1 个答案:

答案 0 :(得分:15)

它存储在对象内的一个字段中。

碰巧,在当前的.NET实现中,字符串在内部以为空终止,但这只是为了互操作,所以期望的代码以null结尾的字符串可以被赋予相同的内存块以供使用。

请注意,无论如何,在字段中使用它是一个好主意 - 它使得查找长度为O(1)操作而不是O(N)。