2013-05-28 163 views
0

我试图创建一个短的Windows Presentation Foundation应用程序C#比较两个不同格式的列表并输出他们共同的用户。比较两个名称列表

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

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

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 

回答

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

与文本框,如指出奥斯丁萨洛宁

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)); 
+0

当我添加你的代码,我得到这个错误:错误“System.Windows.Forms.TextBox”不包含'的定义选择'并且没有扩展方法'选择'接受'System.Windows.Forms.TextBox'类型的第一个参数可以被找到。 – Harmond

+0

@哈蒙德。对不起,你在问清单。你的意思是这是一个文本框的文本? –

+0

是的。这是文本框中的输入。两个文本框接收每个列表作为其输入。我知道C#中的列表很容易被误解,但是这个输入是文本框。 – Harmond