1
我正在尝试编写一些LINQ,用于搜索存储的项目中的值与列表中的任何值匹配的项目 - 如果它是一个字符串列表&搜索一个字符串,但是当它是一个枚举(整数)列表我无法弄清楚。LINQ包含数组中的(int)项
List<MyEnum> categories = new List<MyEnum>();
categories.Add(MyEnum.Fred);
categories.Add(MyEnum.Bill);
categories.Add(MyEnum.Jim);
// MyTable.Category is of type MyEnum
return (from o in Table<MyTable>()
where categories.Any(val => o.Category.Contains(val))
select o).Count();
编辑进一步信息 -
的代码是:
public int LocalOffersCount(double distance, List<LocalCategory> categories)
{
try
{
return (from o in Table<LocalOffer>() where categories.Any(val => o.Category.Contains(val)) select o).Count();
}
catch (Exception ex)
{
Log.Error("DatabaseService->LocalOffersCount: " + ex.Message);
return 0;
}
}
MyTable的包含各种项目, “类别” 项目是一个LocalCategory枚举从1开始将10
我得到的编译错误是 -
方法的类型参数`System.Linq.Enumerable.Contains(this System.Collections.Generic.IEnumerable,TSource)'不能从用法中推断出来。尝试明确指定类型参数(CS0411)
什么具体的错误(S)你好吗? – 2013-03-25 17:39:40
为什么不编译?什么是错误? – AlexFoxGill 2013-03-25 17:40:16
“当它是一个枚举(整数)列表” - >错误#1。枚举!=整数。但如果你真的发布了这个错误,而不是仅仅说明它不会编译,它将会对大众有所帮助。你很可能会得到更快的答案,并且当你搜索它时,你会为那些有同样问题的人提供服务(我们不是在这里帮助你*)。 – 2013-03-25 17:40:39