这是代码:
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'类型的操作数
为什么?
答案 0 :(得分:3)
您可以使用Contains
检查列表是否包含特定数字(将int强制转换为long
):
list_of_histogramsR[i].Contains((long)numbers[i])