C# 如何比较两个列表&书信电报;长[]>;及<;int>;指数

C# 如何比较两个列表&书信电报;长[]>;及<;int>;指数,c#,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

代码如下:

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])
                    {

                    }
                }
var数=
Lightnings区域。选择许多(
s=>Regex.Matches(s,@“\[(\d+[-]+(\d+\]))
.Cast()
.Select(m=>m.Groups.Cast()。跳过(1)。选择(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();
对于(int i=0;i

我把变量数看作索引的数目。最后,数字包含5372个数字。 因此,来自thr 5272的每个数字就像一个索引

现在我有了这个包含16595个索引的历史图列表。 我想检查一下,如果数字中的任何数字作为索引号出现在历史图的列表中,然后做些什么

例如,数字中的第一个数字是41。因此,当索引编号41的列表\u of_historogramsr==到编号中的编号41时,可以做一些事情。然后,变量编号中的下一个编号也是如此

问题是在IF行im get error:error 33运算符“==”不能应用于“long[]”和“int”类型的操作数


为什么?

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


顺便说一句,您得到的错误是因为历史图的列表是一个数组,包含每个项目的数组,而您的数字是一个包含整数的数组。因此,您将数组(long[])与整数进行比较,这就是您得到的错误。
list_of_histogramsR[i].Contains((long)numbers[i])