对多维列表进行排序< string> C# [英] Sorting a multi-dimensional list<string> c#

查看:86
本文介绍了对多维列表进行排序< 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;
    }


这篇关于对多维列表进行排序&lt; string&gt; C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆