2013-05-28 3 views
0

Я пытаюсь создать короткий Presentation Foundation Windows, применение в 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); 

с TextBoxes, как указывает Остин Салонен

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

Я получаю эту ошибку, когда я добавить код: Ошибка \t \t 1 «System.Windows.Forms.TextBox» не содержит определение для " Выберите 'и не будет использоваться метод расширения' Выберите ', чтобы принять первый аргумент типа' System.Windows.Forms.TextBox '. – Harmond

+0

@ Хармонд. Извините, но вы просите списки. Вы имеете в виду, что это текст текстового поля? –

+0

Да. Это вход в текстовое поле. Два текстовых поля получают каждый список в качестве своего ввода. Я знаю, что легко интерпретировать из-за списков в C#, но этот ввод - это текстовое поле. – Harmond

Смежные вопросы