gpt4 book ai didi

c# - String.StartsWith 无法正常工作

转载 作者:太空宇宙 更新时间:2023-11-03 18:42:17 25 4
gpt4 key购买 nike

string word1 = ""; //see example   
string word2 = "";
bool b1 = word1.StartsWith(word2);
bool b2 = word1.Substring(0, word2.Length) == word2;

对于某些阿拉伯字符串 b1 不等于 b2?你能解释一下这种行为吗?

例子:

word1 = ((char)0x0650).ToString()+ ((char)0x0652).ToString()+ ((char)0x064e).ToString();
word2 = ((char)0x0650).ToString()+ ((char)0x0652).ToString();

最佳答案

有区别:.StartsWith执行文化敏感比较,而 .Equals (你使用 == 的东西)没有。

因此,如果您有两个字符串,当您逐个字符比较它们时它们是不同的(== 返回 false),但您的文化认为它们相等(startswith 返回 true),您可以得到这个结果。

编辑如果我用这个尝试你的示例值:

bool b1 = word1.StartsWith(word2, StringComparison.Ordinal);
bool b2 = word1.Substring(0, word2.Length).Equals(word2, StringComparison.Ordinal);

两者都返回“True”。

关于c# - String.StartsWith 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7571503/

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