匹配2个文本框行顺序

时间:2013-06-15 18:29:20

标签: c# list sorting textbox match

我正在寻找一种方法来订购2个不同的文本框,以便文本框2与文本框1所在的顺序相匹配。

文本框2将具有相同的字符串,其中包含...不可用或....可用添加到结尾并按不同顺序。

例如:

文本框1

orange
banana 
cranberry    
grape
apple

文本框2

banana....Available 
cranberry....Not Available 
apple....Available 
grape....Not Available     
orange....Available 

最终输出将使文本框2与文本框1的顺序相同。

我不希望他们对A-Z进行排序。

有没有办法根据textbox1中的顺序对列表进行排序?

List<string> listtomatchtextbox1= new List<string>();

            foreach (var line in textbox1.Lines)
            {
                listtomatchtextbox1.Add(line);
            }

listtomatchtextbox1.Sort(sortbytextbox1); //???

foreach (string s in listtomatchtextbox1)
                {
                    textbox2.AppendText(s);
                    textbox2.AppendText(System.Environment.NewLine);
                }

感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

您的整个代码将是

List<string> tb1lines = textbox1.Lines.ToList();
List<string> tb2lines = textbox2.Lines.ToList();
List<string> newtb2lines = new List<string>();

foreach (string s in tb1lines)
    newtb2lines.Add(tb2lines.Where(l => l.StartsWith(s)).ToList()[0]);

textbox2.Lines = newtb2lines.ToArray();