小编Anh*_*Lai的帖子

语法含义:return _(); IEnumerable <TSource> _()

在下面的C#代码中,我发现了_()奇怪的用法.有谁能解释这意味着什么?

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)))
                yield return element;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# syntax

13
推荐指数
1
解决办法
1169
查看次数

标签 统计

c# ×1

syntax ×1