मैं तुलना करना चाहता हूं कि स्ट्रिंग क्लास के बराबर() विधि का उपयोग करके दो स्ट्रिंग बराबर हैं या सी # में नहीं हैं। लेकिन भले ही दोनों तार समान हैं, मेरी सशर्त जांच विफल हो रही है।स्ट्रिंग बराबर() विधि विफल रहता है भले ही दो स्ट्रिंग सी # में समान हों?
मैंने देखा है कि दोनों स्ट्रिंग बराबर हैं और इसे 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 अंतिम अनुक्रमणिका में एक अंतर है। यह एक खाली चार की तरह दिखता है। लेकिन मैंने पहले से ही ट्रिम() फ़ंक्शन का उपयोग किया है। डीबग प्रक्रिया के दौरान यह तस्वीर कैप्चर की गई है।
currInnerText स्ट्रिंग के अंत में खाली चार या किसी अन्य नकली पात्रों को हटाने का समाधान क्या है?
यह आपका वास्तविक कोड नहीं है ('बराबर()' सी # में सभी लोअरकेस नहीं है)। कृपया अपना वास्तविक कोड पेस्ट करें। – BoltClock
स्पष्ट रूप से कुछ है जो आप हमें नहीं बता रहे हैं। आपके द्वारा प्रस्तुत किया गया कोड निश्चित रूप से काम करेगा यदि आप दो तारों की तुलना कर रहे हैं जो समान हैं। हमें आपका अधिक कोड देखना होगा। –
आपके तार क्या हैं? – SeToY