gpt4 book ai didi

c# - 即使两个字符串在 C# 中相同,String Equals() 方法也会失败?

转载 作者:太空狗 更新时间:2023-10-29 17:28:12 27 4
gpt4 key购买 nike

我想在 C# 中使用字符串类的 Equals() 方法比较两个字符串是否相等。但即使两个字符串相同,我的条件检查也失败了。

我已经看到两个字符串相等,并且还在 http://text-compare.com/ 验证了这一点地点。我不知道这里有什么问题......

我的代码是:

protected string getInnerParaOnly(DocumentFormat.OpenXml.Wordprocessing.Paragraph currPara, string paraText)
{
string currInnerText = "";
bool isChildRun = false;

XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(currPara.OuterXml);
XmlNode newNode = xDoc.DocumentElement;

string temp = currPara.OuterXml.ToString().Trim();

XmlNodeList pNode = xDoc.GetElementsByTagName("w:p");
for (int i = 0; i < pNode.Count; i++)
{
if (i == 0)
{
XmlNodeList childList = pNode[i].ChildNodes;
foreach (XmlNode xNode in childList)
{
if (xNode.Name == "w:r")
{
XmlNodeList childList1 = xNode.ChildNodes;
foreach (XmlNode xNode1 in childList1)
{
if (xNode1.Name == "w:t" && xNode1.Name != "w:pict")
{
currInnerText = currInnerText + xNode1.InnerText;
}
}
}
}
if (currInnerText.Equals(paraText))
{
//do lot of work here...
}
}
}

当我设置一个断点并逐步查看每个字符时,currInnerText 的最后一个索引就会有所不同。它看起来像一个空字符。但是我已经使用了 Trim() 函数。这是在调试过程中捕获的图片。

删除 currInnerText 字符串末尾的空字符或任何其他虚假字符的解决方案是什么?

enter image description here

最佳答案

试试这个

String.Equals(currInnerText, paraText, StringComparison.InvariantCultureIgnoreCase);

关于c# - 即使两个字符串在 C# 中相同,String Equals() 方法也会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12622243/

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