对多维列表进行排序< string> C# [英] Sorting a multi-dimensional list<string> c#
本文介绍了对多维列表进行排序< string> C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这个代码来排序/订购一个List但它不起作用
I have this code to sort/order a List but it does not work
public List<List<string>> OrderBy()
{
List<List<string>> listOrderBy = new List<List<string>>();
for (int i = 0; i <= gvFilters.Rows.Count - 1; i++)
{
List<string> track = new List<string>();
TextBox txtOrder = (TextBox)gvFilters.Rows[i].FindControl("txtOrder");
DropDownList drpTableName = (DropDownList)gvFilters.Rows[i].FindControl("drpTableName");
DropDownList drpFieldName = (DropDownList)gvFilters.Rows[i].FindControl("drpFieldName");
track.Add(txtOrder.Text);
track.Add(drpTableName.SelectedValue.ToString() + "." + drpFieldName.SelectedValue.ToString());
listOrderBy.Add(track);
}
listOrderBy.OrderBy(l => Double.Parse(l[0]));
return listOrderBy;
}
我输入的是:
1 ,致敬
4,LastName
3,MiddleName
2,FirstName
5,性别
输出应该是
1,称呼
2,FirstName
3,MiddleName
4,LastName
5,性别
我是什么尝试过:
我尝试了上面的代码但是没有用。
My input are these:
1, Salutation
4, LastName
3, MiddleName
2, FirstName
5, Gender
The output should be
1, Salutation
2, FirstName
3, MiddleName
4, LastName
5, Gender
What I have tried:
I tried the code above and it did not work.
推荐答案
与其他人分享这类问题。以下是我找到的解决方案:
需要根据您的要求创建课程
To share to others engaging to this kind of problem. Here's the solution I found:
Need to create a class for your requirement
public class OrderFields
{
public int OrderNo { get; set; }
public string OrderField { get; set; }
public OrderFields(int num, string field)
{
OrderNo = num;
OrderField = field;
}
}
然后使用此课程作为您的列表<>
Then use this class as your List<>
public List<OrderFields> OrderBy()
{
List<OrderFields> listOrderBy = new List<OrderFields>();
for (int i = 0; i <= gvFilters.Rows.Count - 1; i++)
{
TextBox txtOrder = (TextBox)gvFilters.Rows[i].FindControl("txtOrder");
DropDownList drpTableName = (DropDownList)gvFilters.Rows[i].FindControl("drpTableName");
DropDownList drpFieldName = (DropDownList)gvFilters.Rows[i].FindControl("drpFieldName");
string ordervalue = drpTableName.SelectedValue.ToString() + "." + drpFieldName.SelectedValue.ToString();
listOrderBy.Add(new OrderFields(Convert.ToInt32(txtOrder.Text), ordervalue));
}
listOrderBy.Sort(delegate(OrderFields x, OrderFields y)
{
return x.OrderNo.CompareTo(y.OrderNo);
});
return listOrderBy;
}
这篇关于对多维列表进行排序< string> C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文