如何在c#.net中使用strig.compare比较三个字符串?

时间:2014-11-26 13:27:59

标签: c#

我想比较三个或更多字符串,如下所示

using System;

namespace StringApplication
{
   class StringProg
   {
      static void Main(string[] args)
      {
         string str1 = "This is test";
         string str2 = "This is text";
         string str3 = "This is text";

         if (String.Compare(str1, str2,str3) == 0)
         {
            Console.WriteLine(str1 + " and " + str2 +  " are equal.");
         }
         else
         {
            Console.WriteLine(str1 + " and " + str2 + " are not equal.");
         }
         Console.ReadKey() ;
      }
   }
}

但是我收到了错误。

2 个答案:

答案 0 :(得分:3)

正如MSDN中所述:

  

比较两个指定的String 对象并返回一个整数   表示它们在排序顺序中的相对位置。这个成员是   超载。有关此成员的完整信息,包括   语法,用法和示例,单击重载列表中的名称。

因此你不能用这种方式比较三个字符串。您可以尝试以下操作,而不是这样做,如果您想要比较所有三个字符串,我认为这是您想要的

if (String.Compare(str1, str2) == 0 &&  
    String.Compare(str2, str3) == 0)

答案 1 :(得分:1)

您需要手动执行此操作。比较第一个和第二个,比第一个和第三个,第一个和第四个等。如果被测试的当前对不相等,你可以立即得出结论,整个集合不相等。如果所有对都报告为相等,则它们都是相等的。