これは私を困惑させたので、C# の第一人者が私に説明してくれることを期待して、ここで質問したいと思いました。
このコードでエラーが発生するのはなぜですか?
Func<IEnumerable<Item>, IEnumerable<Item>, IEqualityComparer<Item>, IEnumerable<Item>> func = strict ?
(first, second, comparer) => first.Intersect(second, comparer) :
(first, second, comparer) => first.Union(second, comparer);
これはしませんが:
Func<IEnumerable<Item>, IEnumerable<Item>, IEqualityComparer<Item>, IEnumerable<Item>> func1;
if (strict)
func1 = (first, second, comparer) => first.Intersect(second, comparer);
else
func1 = (first, second, comparer) => first.Union(second, comparer);