我的应用程序中有书籍列表,我正在尝试添加验证,以便不会将重复的书籍添加到列表中。验证应检查列表中是否已存在该书的名称,无论是否为小写" book1"和大写" BOOK1"应该被视为一样。
到目前为止,我编写了以下代码:
public string Error
{
get
{
if (Books.Count() != Books.Select(x => new { x.Name.ToUpper(), x.CategoryID }).Distinct().Count())
{
return "Every Book and Category should be unique";
}
return string.Empty;
}
}
但它出现以下错误:
匿名类型投影初始化程序应该是简单名称或成员访问表达式。
我该如何检查案件呢?
答案 0 :(得分:7)
问题在于此代码段:
new { x.Name.ToUpper(),
C#不知道要为该表达式提供什么属性名称,因此您需要明确说明应该调用的内容:
new { Name = x.Name.ToUpper(),
答案 1 :(得分:0)
您可以尝试使用词典,因为他们不会允许重复,使用书名作为键。