【问题标题】:comparing two string[] [closed]比较两个字符串 [] [关闭]
【发布时间】:2011-06-04 20:18:39
【问题描述】:

在这里给我一个错误:

string.Compare(list[], list1[],true); <<<<<<

导致错误。

string[] list = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "v", "z" };
string[] list1 = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "v", "z" };

int result = string.Compare(list[], list1[], true);

if (result == 0)
{
    Label1.Text += "Two strings are equal";
}
else if (result == 1)
{
    Label1.Text += "Test String1 is greater than Test String2";
}
else if (result == -1)
{
    Label1.Text += "Test String1 is less than Test String2";
}

【问题讨论】:

  • 请阅读:tinyurl.com/so-hints
  • @Matt Ball、thecoop、Chris、Alex Aza、Oded:哇,所以你们决定关门了?这个问题有什么歧义或含糊之处?

标签: c# asp.net


【解决方案1】:

怎么样:

 bool areSame = list.SequenceEqual(list1);

【讨论】:

    【解决方案2】:

    使用Linq的SequenceEqual判断字符串数组是否相同

    http://msdn.microsoft.com/en-us/library/bb348567.aspx

    【讨论】:

      【解决方案3】:

      这是因为string.Compare 没有接受数组的签名。

      另外,当你传递数组时,你不需要在变量名之后使用[]

      有一个很棒的SO Question here 回答了如何比较两个数组的问题。

      【讨论】:

        【解决方案4】:

        string.Compare 没有采用字符串数组的重载。

        您需要编写自己的函数来比较数组。

        您需要决定不同长度数组的行为、同一索引中不同值的返回值等...

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-08-15
          相关资源
          最近更新 更多