相关疑难解决方法(0)

C#中字符串比较方法的差异

在C#中比较字符串非常简单.事实上,有几种方法可以做到这一点.我在下面的块中列出了一些.我很好奇的是它们之间的差异以及何时应该使用其他的?是否应该不惜一切代价避免?还有更多我没有列出?

string testString = "Test";
string anotherString = "Another";

if (testString.CompareTo(anotherString) == 0) {}
if (testString.Equals(anotherString)) {}
if (testString == anotherString) {}
Run Code Online (Sandbox Code Playgroud)

(注意:我在这个例子中寻找平等,不小于或大于,但也可以随意发表评论)

c# string comparison

256
推荐指数
7
解决办法
19万
查看次数

字符串比较:InvariantCultureIgnoreCase与OrdinalIgnoreCase?

哪个代码更好:

int index = fileName.LastIndexOf(".", StringComparison.InvariantCultureIgnoreCase);
Run Code Online (Sandbox Code Playgroud)

要么

int index = fileName.LastIndexOf(".", StringComparison.OrdinalIgnoreCase);
Run Code Online (Sandbox Code Playgroud)

c# string

164
推荐指数
4
解决办法
9万
查看次数

C#字符串比较忽略空格,回车或换行符

如何在C#中比较2个字符串,忽略大小写,空格和任何换行符.我还需要检查两个字符串是否为空,然后将它们标记为相同.

谢谢!

.net c# string

40
推荐指数
5
解决办法
7万
查看次数

字符串Equals()方法失败,即使C#中的两个字符串相同?

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

我已经看到两个字符串相同,并在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 …
Run Code Online (Sandbox Code Playgroud)

c#

9
推荐指数
4
解决办法
2万
查看次数

C#字符串相等运算符返回false,但我很确定它应该是真的......什么?

我正在尝试为生成大量文本的代码编写单元测试.我遇到了一个问题,其中"预期"和"实际"字符串似乎相等,但Assert.AreEqual抛出,并且都是相等运算符并Equals()返回false.GetHashCode()两个值的结果也不同.

但是,将两个字符串放入文本文件并与DiffMerge进行比较告诉我它们是相同的.

此外,Encoding.ASCII.GetBytes()在两个值上使用然后使用SequenceEquals 比较结果字节数组返回true.

这些值每个都是34KB,所以我暂时把它们放在这里.有任何想法吗?我完全难过了.

c# string equality

5
推荐指数
2
解决办法
4011
查看次数

标签 统计

c# ×5

string ×4

.net ×1

comparison ×1

equality ×1