C# 按行顺序匹配2个文本框
我正在寻找一种方法来订购2个不同的文本框,以便文本框2与文本框1的顺序相同 文本框2将具有相同的字符串,并以不同的顺序将…Not Available或…Available添加到末尾 例如: 文本框1C# 按行顺序匹配2个文本框,c#,list,sorting,textbox,match,C#,List,Sorting,Textbox,Match,我正在寻找一种方法来订购2个不同的文本框,以便文本框2与文本框1的顺序相同 文本框2将具有相同的字符串,并以不同的顺序将…Not Available或…Available添加到末尾 例如: 文本框1 orange banana cranberry grape apple 文本框2 banana....Available cranberry....Not Available apple....Available grape....Not Available orange
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);
}
List listtomatchtextbox1=新列表();
foreach(textbox1.Lines中的变量行)
{
listtomatchtextbox1.Add(行);
}
listtomatchtextbox1.Sort(sortbytextbox1);/???
foreach(listtomatchtextbox1中的字符串s)
{
textbox2.追加文本;
textbox2.AppendText(System.Environment.NewLine);
}
非常感谢您的帮助,谢谢 您的整个代码将是
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();
List tb1lines=textbox1.Lines.ToList();
List tb2lines=textbox2.Lines.ToList();
List newtb2lines=新列表();
foreach(TB1行中的字符串s)
newtb2lines.Add(tb2lines.Where(l=>l.StartsWith(s)).ToList()[0]);
textbox2.Lines=newtb2lines.ToArray();
两个文本框包含相同的字符串,您想要相同的顺序吗?你确定你不想设置TextBox2.Text=TextBox1.Text
?谢谢Tim,我编辑了我的原始问题,我忘了textbox 2将添加一个稍微不同的字符串。很抱歉,我修复了我的原始问题,我忘了textbox 2将在它的末尾添加一个附加字符串。好的,我试试看,我能把它放在我的第二个foreach循环中吗?我希望这就是你一直在寻找的