作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个要排序的列表列表。
foreach (var Row in Result)
{
foreach (var RowAll in Row.All)
{
DataObject.Add(new List<string>() { RowAll.Value1, RowAll.Value2, RowAll.Value3});
break;
}
}
现在我想按每个子列表的 Value2 对父列表进行排序。
最佳答案
您可以通过 LINQ 执行此操作:
// I'm assuming here that "LastCheckin" is defined as List<List<string>> or similar
// ...
var sorted = Data.LastCheckin.OrderBy(list => list[1]);
IEnumerable<List<string>>
包含按子列表中的第二个值 (Value2) 排序的“列表”。
List<T>.Sort
反而:
Data.LastCheckin.Sort( (a,b) => a[1].CompareTo(b[1]) );
bool ascending = true; // Set to false for decending
int mult = ascending ? 1 : -1;
Data.LastCheckin.Sort( (a,b) => mult * a[1].CompareTo(b[1]) );
bool ascending = true; // Set to false for decending
string myDateFormat = GetDateFormat(); // Specify date format
int mult = ascending ? 1 : -1;
Data.LastCheckin.Sort( (aStr,bStr) =>
{
DateTime a, b;
bool aSuccess = DateTime.TryParseExact(aStr[1], myDateFormat, DateTimeStyles.None, CultureInfo.InvariantCulture, out a);
bool bSuccess = DateTime.TryParseExact(bStr[1], myDateFormat, DateTimeStyles.None, CultureInfo.InvariantCulture, out b);
int result;
if (!aSuccess)
result = bSuccess ? -1 : 0;
else if (!bSuccess)
result = 1;
else
result = a.CompareTo(b);
return mult * result;
});
关于c# - 如何对列表列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3104042/
我是一名优秀的程序员,十分优秀!