Вернуть элемент класса из Dictionary - C#
Формулировка задачи:
Мне нужно проверить, что поле
"FirstName"
типаstring
объекта классаContact
будет совпадать с какой-то введённой строкой. Проблема в том, что объекты классаContact
находятся вDictionary
иforeach
я использовать не могу. Как мне, не зная ключ к значениям из словаря (объектыContact
), узнать равна ли введённая строчка полю каждого из объектовDictionary
?Решение задачи: «Вернуть элемент класса из Dictionary»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication20 { class Program { static void Main(string[] args) { ContactBook contacts = new ContactBook(); contacts.AddContact(new Contact { Name = "Mary", Phone = "123" }); contacts.AddContact(new Contact { Name = "Tom", Phone = "342" }); contacts.AddContact(new Contact { Name = "Ann", Phone = "909" }); Contact c = contacts.GetContact("Mary"); if (c != null) { Console.WriteLine(c); } Console.ReadLine(); } } class Contact { public string Name { get; set; } public string Phone { get; set; } public override string ToString() { return string.Format("Name: {0}, Phone: {1}", Name, Phone); } } class ContactBook { static int counter = 0; Dictionary<int, Contact> contacts = new Dictionary<int, Contact>(); public void AddContact(Contact contact) { contacts.Add(counter++, contact); } public Contact GetContact(string name) { return contacts.Values.Where(v => v.Name == name).FirstOrDefault(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д