我正在尝试使用Enumerable.OrderBy对 List 进行排序,因为最终我希望能够按多个字段进行排序。目前它似乎只有在我创建一个新变量var
来保存结果视图时才有效,这意味着(我认为)需要重新转换类型。
有没有一种方法可以在保留原始 List 变量和类型的同时按多个字段对 List 进行排序?即我宁愿_orderedbins
以类型变量结束List<orderedbins>
以下是我目前拥有的,但从 var test = ... 开始的所有内容似乎都有点错误。
public class orderedBins
{
public string Bin { get; set; }
public int Order { get; set; }
}
List<orderedbins> _orderedbins = new List<orderedbins>();
foreach (string item in splitbins)
{
string[] spbinSetting = item.Split(',');
bool bchecked = bool.Parse(spbinSetting[1]);
int border = int.Parse(spbinSetting[2]);
if (bchecked == true)
{
_orderedbins.Add(new orderedbins { bin = spbinSetting[0], Order = border });
}
}
var test =_orderedbins.OrderBy(x => x.Order);
foreach (var item in test)
{
string f = item.Bin;
int g = item.Order;
}