[英]C# String.Length from Microsoft Documentation
Microsoft文檔指出此代碼將返回7個字符
Length屬性返回此實例中Char對象的數量,而不是Unicode字符的數量。
string characters = "abc\u0000def";
Console.WriteLine(characters.Length); // Displays 7
我將需要一個函數來返回結果12,因為有12個不同的字符。 我可以使用哪個功能?
您將必須防止編譯器對文字進行解釋。 可以使用@前綴完成此操作,如下所示:
var characters = @"abc\u0000def";
然后,該字符串的Length
屬性將返回12,但是字符串中將不再有實際的unicode字符。
C#編譯器將\
替換為空字節。 這意味着,在執行時,您的內存中僅會包含7個字符。
如果您不希望編譯器替換特殊字符,則必須首先轉義反斜杠:
string characters = "abc\\u0000def";
Console.WriteLine(characters.Length); // Displays 12
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.