check if value already exists(检查值是否已存在)
问题描述
我有存放书籍的词典:
Dictionary<string, book> books
图书定义:
class book
{
string author { get; set; }
string title { get; set; }
}
我在词典里加了几本书。
如何检查词典中是否有与用户提供的书名匹配的图书?
推荐答案
如果您没有使用图书标题作为键,则必须枚举值并查看是否有任何图书包含该标题。
foreach(KeyValuePair<string, book> b in books) // or foreach(book b in books.Values)
{
if(b.Value.title.Equals("some title", StringComparison.CurrentCultureIgnoreCase))
return true
}
或者您可以使用LINQ:
books.Any(tr => tr.Value.title.Equals("some title", StringComparison.CurrentCultureIgnoreCase))
另一方面,如果您使用书名作为关键字,则只需执行以下操作:
books.ContainsKey("some title");
这篇关于检查值是否已存在的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!