我有一个构建版本列表
List<int[]> BuildVersions;
Run Code Online (Sandbox Code Playgroud)
我怎样才能找到最后的构建版本.
构建诸如的版本
100.1.2.3
101.12.3.2
101.12.3.3
Run Code Online (Sandbox Code Playgroud)
更新:表达式必须先检查第一个数字,然后检查第二个数字,然后检查第三个数字,然后检
int[] maxVersion = buildVersions.OrderByDescending(v => v[0])
.ThenByDescending(v => v[1])
.ThenByDescending(v => v[2])
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
或者更通用的解决方案如下
T[] HierarchicalMax<T>(IEnumerable<T[]> items)
{
var length = items.Min(v => v.Length);
IEnumerable<T[]> result = items;
for (int i = 0; i < length; i++)
{
int offset = i;
result = result.OrderByDescending(v => v[offset]);
}
T[] max = result.FirstOrDefault();
return max;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
984 次 |
最近记录: |