1
저장된 항목의 값이 목록의 값과 일치하는 항목을 검색하는 일부 linq를 작성하려고합니다. 문자열 목록 인 경우이 작업을 쉽게 수행 할 수 있습니다. & 문자열을 검색하지만 enum (ints) 목록 일 때 알아낼 수는 없습니다. linq contains (int) items in array
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 다양한 항목이 포함되어, 「카테고리」항목은 10
에가는 일에 시작하는 LocalCategory 열거입니다내가 얻는 컴파일 오류는 다음과 같습니다. -
메소드의 유형 인수 System.Linq.Enumerable.Contains (이 System.Collections.Generic.IEnumerable, TSource) '는 사용법에서 유추 할 수 없습니다. 명시 적으로 형식 인수를 지정하십시오. (CS0411)
어떤 특정 오류 (들)는 점점을 :
LocalOffer.Category
는IEnumerable<Category>
경우그러나, 이것은 당신이 필요 아마? –
왜 컴파일되지 않습니까? 오류가 무엇입니까? – AlexFoxGill
"enum (ints) 목록 일 때"-> 실수 # 1. Enums! = ints. 그러나 컴파일을하지 않는다는 오류 만 게시하는 대신 대중에게 도움이 될 것입니다. 당신은 답을 빨리 얻을 수 있으며, 같은 문제가있는 사람들을 위해 검색 할 때 서비스를 제공 할 것입니다. (우리는 당신을 혼자 도울 수있는 곳이 아닙니다.) –