gpt4 book ai didi

.net - 为什么 string.IsNullOrWhiteSpace ("\0") 是假的

转载 作者:行者123 更新时间:2023-12-04 13:01:55 25 4
gpt4 key购买 nike

我遇到了隐藏字符 \0 的问题这很像 string.IsNullOrWhiteSpace 方法不将其视为空白的“空白”。我想知道为什么这在 .NET 中以这种方式实现,是否有任何替代 string.IsNullOrWhiteSpace 可以正确处理空终止字符的方法?
提前致谢。

最佳答案

U+0000基本上不是空格。 char.IsWhitespace('\0')返回 false,它没有被列为空格...
IsNullOrWhitespace的空部分指的是字符串引用本身 - 不是内容,如果那是您的想法。

请注意,.NET 中的字符串在托管代码中在逻辑上不是“以空字符结尾的”,尽管在 CLR 级别实践中,出于互操作的目的,它们是。 (字符串知道它自己的长度,但为了更容易地使用需要空终止符的 native 代码,CLR 确保在字符串内容之后总是有一个 U+0000。)如果你最终得到包含 \0 的字符串你可能应该修复任何产生它的东西。

关于.net - 为什么 string.IsNullOrWhiteSpace ("\0") 是假的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31053831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com