Выражение
lstAuthors.Items.Contains(itm)
всегда будет возвращать false
для вновь созданного itm
объекта. Но это не имеет значения, потому что весь ваш подход неверен.
В приложении WPF вы обычно реализуете шаблон MVVM и привязывает свойство ListBox ItemsSource
к свойству коллекции строк в классе модели представления.
Однако, в качестве первого шага вы могли бы просто объявить член ObservableCollection<string>
в вашем классе MainWindow и в его конструкторе напрямую назначить его свойству ItemsSource:
private readonly ObservableCollection<string> authors
= new ObservableCollection<string>();
public MainWindow()
{
InitializeComponent();
lstAuthors.ItemsSource = authors;
}
Теперь вы будете работать с этой коллекцией только:
var author = txbAuthor.Text.TrimEnd(' ', ';');
if (!authors.Contains(author))
{
authors.Add(author);
}
In the beginning, I found Standard Query Operators (MS Word .doc) an invaluable reference.
Pro LINQ by Joseph Rattz is a great book on the subject, although it doesn't cover LINQ to Entities.
As well as in depth examples for each of the standard query operators, it covers:
LINQ Pad - хороший способ начать обучение, он также бесплатный ...
Хотя это не бесплатно, и может показаться «пугающим» для новичка. Но книга Professional LINQ, опубликованная Wrox, которую я нашел, была хорошей книгой "промокни ноги". Это не то, что я бы назвал частью их профессиональной серии, несмотря на название, и не вдавался в такую глубину, как следовало бы, но, тем не менее, это хорошее начало.
Я много искал то же самое, но обнаружил, что на самом деле нет места, где все было бы вместе ...
Но есть несколько хороших ресурсов.
LinQ 101 - http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx
А в этом есть довольно много небольших примеров того, как что-то делать на разных языках. И там тоже есть раздел для linq
http://www.java2s.com/Code/CSharp/LINQ/CatalogLINQ.htm
Я бы сказал, начать с linq to sql, они перестали разрабатывать это некоторое время назад, но синтаксис точно такой же, как linq для сущностей, linq для сущностей и linq для sql почти такой же, есть несколько отличий, но id говорит, что начинается "снизу" :)
Это действительно хорошее руководство о том, как для перехода от "linq to sql" к "linq to entity" http://naspinski.net/post/Getting-started-with-Linq-To-Entities.aspx
Эта книга / электронная книга тоже очень хороша. Очень хорошо для начинающих. http://www.manning.com/marguerie/
Лучшее, что нужно для личного преподавателя LINQ для начинающих: