是否有LINQ方法来确定是否,例如:
List<int> micro = new List<int>(){1,2,3,4,5};
Run Code Online (Sandbox Code Playgroud)
在...
List<List<int>> macro = new List<List<int>>();
Run Code Online (Sandbox Code Playgroud)
?
我可以foreach在宏上做一个循环并检查它是否包含至少一个包含List所有微项的东西(macro[0].Contains(1) && macro[0].Contains(2)...),但是有更多的C#方法吗?
bool exists = macro.Any(x => micro.All(x.Contains));
Run Code Online (Sandbox Code Playgroud)
如果元素的顺序和数量是重要的使用 SequenceEqual
bool exists = macro.Any(x => x.SequenceEqual(micro));
Run Code Online (Sandbox Code Playgroud)