33
다음은 IEnumerable 형식에서 잘 작동하지만 SQL 데이터베이스에 대해 IQueryable 형식에서 작동하는 것과 같은 것을 얻을 수있는 방법이 있습니까?LINQ 연산자 사이
class Program
{
static void Main(string[] args)
{
var items = new[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, };
foreach (var item in items.Where(i => i.Between(2, 6)))
Console.WriteLine(item);
}
}
static class Ext
{
public static bool Between<T>(this T source, T low, T high) where T : IComparable
{
return source.CompareTo(low) >= 0 && source.CompareTo(high) <= 0;
}
}
니스. 이것은 또한 Linq 표현을 조금 더 이해하게했습니다. – Dykam
Jon, 죄송합니다. 수락하지 않았습니다. 날씨가 좋지 않을 때 며칠간 지냈다. 질문 : IComparable 대신 비교 연산자를 사용하는 방법에 대해 씁니다. 그게 어떻게 생겼어? 이 중 어떤 것이 IEnumerable 처럼 보이겠습니까? 나는 이것으로 놀 필요가 있으며 오늘 그렇게 할 수 있기를 바랍니다. 감사합니다! –
andleer
'IComparable'을 사용하면 CompareTo를 두 번 호출하기 위해 표현식 트리가 필요합니다. 모든 가능하지만 약간의 고통. "IEnumerable '처럼 보이는 것은 무엇일까? - 당신이 정교 할 수 있니? –