我如何比较两个列表? <long []>和<int> index </int> </long []>

时间:2012-12-15 09:20:46

标签: c#

这是代码:

var numbers =
               lightningsRegions.SelectMany(
          s => Regex.Matches(s, @"\[(\d+)[ -]+(\d+)\]")
               .Cast<Match>()
               .Select(m => m.Groups.Cast<Group>().Skip(1).Select(x => x.Value)
                                                          .ToArray())
               .Select(x => new { start = int.Parse(x[0]), end = int.Parse(x[1]) })
               .SelectMany(x => Enumerable.Range(x.start, x.end - x.start + 1))
        )
       .ToList();


                for (int i = 0; i < list_of_histogramsR.Count ; i++)
                {
                  if (list_of_histogramsR[i] == numbers[i])
                    {

                    }
                }

我将变量数视为索引数。最后的数字包含5372个数字。 所以thr 5272中的每个数字就像一个索引。

现在我有List<long[]> list_of_histogramsR这个包含16595个索引。 我想检查一下,如果数字中的任何数字在list_of_histogramsR作为索引号,那么就做一些事情。

例如,数字中的第一个数字是41.因此,当list_of_histogramsR ==的索引号41与数字中的数字41做某事时。然后对于变量数中的下一个数字也一样。

问题是在IF行上我得到错误:错误33运算符'=='不能应用于'long []'和'int'类型的操作数

为什么?

1 个答案:

答案 0 :(得分:3)

您可以使用Contains检查列表是否包含特定数字(将int强制转换为long):

list_of_histogramsR[i].Contains((long)numbers[i])