我想使用字符串類的Equals()方法比較兩個字符串在C#中是否相等。但即使兩個字符串都相同,我的條件檢查失敗。即使這兩個字符串在C#中是相同的,String 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字符串末尾的其他虛假字符的解決方案是什麼?
這不是你的實際代碼(在C#中'Equals()'不是全部小寫)。請粘貼您的實際代碼。 – BoltClock
顯然你沒有告訴我們。如果您比較兩個相同的字符串,那麼您提供的代碼肯定會有效。我們需要看到更多的代碼。 –
你的琴絃是什麼? – SeToY