比较两个名单

时间:2013-05-28 20:23:51

标签: c# wpf

我正在尝试在 C#中创建一个简短的 Windows Presentation Foundation 应用程序,以比较不同格式的两个列表,并输出他们共有的用户。

现在我通过文本框从用户那里获取每个列表。

现在我对如何比较两个不同的文本框并输出常用名称感到有点困惑。如果数据是某种类型的数组,我可以使用:

var name = string.Split('(')[0].Trim()

但是既然我决定使用文本框,我不确定如何继续这个。例如,请考虑以下两个输入列表和预期输出:

第一个清单:

Jacqueline Beaurivage (loh Da road); 
Bon Van Daht (fary goal lim)
Bon Jobi (ting wei)
Ting Wan (dehtee road);

第二个清单:

Jacqueline Beaurivage
Bon Van Daht

预期输出:

Jacqueline Beaurivage
Bon Van Daht

1 个答案:

答案 0 :(得分:5)

var commonNames = firstList
                    .Select(m => m.Split('(')[0].Trim())
                    .Intersect(secondList);

使用TextBoxes,正如Austin Salonen指出的那样

var firstList = textBox1.Text.Select(m => m.Split(Environment.NewLine));

var secondList = textBox2.Text.Select(m => m.Split(Environment.NewLine));

resultTextBox.Text = string.Join(Environment.NewLine,
                           firstList
                             .Select(m => m.Split('(')[0].Trim())
                             .Intersect(secondList));