目前我有一些类似下面的代码,它基于 NoOfRows 属性返回是否所有数据都已输入到列表中:
switch (NoOfRows)
{
case 1:
return InputList1.Any();
case 2:
return InputList1.Any() && InputList2.Any();
case 3:
return InputList1.Any() && InputList2.Any() && InputList3.Any();
case 4:
return InputList1.Any() && InputList2.Any() && InputList3.Any() && InputList4.Any();
case 5:
return InputList1.Any() && InputList2.Any() && InputList3.Any() && InputList4.Any() && InputList5.Any();
case 6:
return InputList1.Any() && InputList2.Any() && InputList3.Any() && InputList4.Any() && InputList5.Any() && InputList6.Any();
case 7:
return InputList1.Any() && InputList2.Any() && InputList3.Any() && InputList4.Any() && InputList5.Any() && InputList6.Any() && InputList7.Any();
case 8:
return InputList1.Any() && InputList2.Any() && InputList3.Any() && InputList4.Any() && InputList5.Any() && InputList6.Any() && InputList7.Any() && InputList8.Any();
case 9:
return InputList1.Any() && InputList2.Any() && InputList3.Any() && InputList4.Any() && InputList5.Any() && InputList6.Any() && InputList7.Any() && InputList8.Any() && InputList9.Any();
case 10:
return InputList1.Any() && InputList2.Any() && InputList3.Any() && InputList4.Any() && InputList5.Any() && InputList6.Any() && InputList7.Any() && InputList8.Any() && InputList9.Any() && InputList10.Any();
default:
return false;
}
我认为重构此代码并拥有一个可能会更好,List<List<int>> or a Dictionary<int,List<int>>
但是我将如何执行上述操作以返回集合中的每个列表是否包含某些内容?
List<List<int>> values = new List<List<int>>(){InputList1, InputList2 ... InputList10};
var lists = values.Take(NoOfRows);
lists.. //check each item and return value of Any for each one