2
คำสั่งไวยากรณ์ผลตอบแทนแปลก
ฉันรู้ว่านี่อาจฟังดูแปลก แต่ฉันไม่รู้แม้กระทั่งวิธีค้นหาไวยากรณ์นี้ในอินเทอร์เน็ตและฉันก็ไม่แน่ใจว่าหมายถึงอะไร ดังนั้นฉันได้ดูโค้ด MoreLINQ แล้วฉันก็สังเกตเห็นวิธีนี้ public static IEnumerable<TSource> DistinctBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer) { if (source == null) throw new ArgumentNullException(nameof(source)); if (keySelector == null) throw new ArgumentNullException(nameof(keySelector)); return _(); IEnumerable<TSource> _() { var knownKeys = new HashSet<TKey>(comparer); foreach (var element in source) { if (knownKeys.Add(keySelector(element))) …