我通过这个命令创建一个列表
var terminalList = sourceLists.Where(t => t.TagNo == tagList)
.Where(t => t.FromTerminal.Length > 0)
.Select(t => parseTerminal(t.FromTerminal))
.OrderBy(t => t).ToList();
Run Code Online (Sandbox Code Playgroud)
它适用于Tagno除了创建这样的列表之外的每一个
terminalList={33,35}
Run Code Online (Sandbox Code Playgroud)
当我使用此命令时
var result = Enumerable.Range(terminalList.Min(), terminalList.Max())
.Except(terminalList)
.ToList();
Run Code Online (Sandbox Code Playgroud)
我检查了一下.terminalList.Min()将是33并且terminalList.Max()将是35.并且在这种情况下terminalList有2个项目.
我得到了这个答案:
result = {34,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67}
Run Code Online (Sandbox Code Playgroud)
这是错误的正确答案{34}.
我该如何追踪问题?
public static IEnumerable<int> Range(
int start,
int count
)
Run Code Online (Sandbox Code Playgroud)
哪里
start - 序列中第一个整数的值.
count - 要生成的连续整数的数量.
所以Enumerable.Range(33,35)从33开始生成35个元素,然后删除33和35并获得显示的结果
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |