Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按行顺序匹配2个文本框_C#_List_Sorting_Textbox_Match - Fatal编程技术网

C# 按行顺序匹配2个文本框

C# 按行顺序匹配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

我正在寻找一种方法来订购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....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循环中吗?我希望这就是你一直在寻找的