Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以下linq扩展方法的好名称是什么?_C#_Linq - Fatal编程技术网

C# 以下linq扩展方法的好名称是什么?

C# 以下linq扩展方法的好名称是什么?,c#,linq,C#,Linq,在我的代码中有几个地方,我想得到一个可枚举的集合,包括集合的第一个元素、前两个元素、前三个元素等等 public static IEnumerable<IEnumerable<TSource>> SomeFunc<TSource>(this IEnumerable<TSource> source) { if(source.Any()) { return Enumerable.Range(1, source.Count

在我的代码中有几个地方,我想得到一个可枚举的集合,包括集合的第一个元素、前两个元素、前三个元素等等

public static IEnumerable<IEnumerable<TSource>> SomeFunc<TSource>(this IEnumerable<TSource> source)
{
    if(source.Any())
    {
        return Enumerable.Range(1, source.Count()).Select(c => source.Take(c));
    }
    else
    {
        return Enumerable.Empty<IEnumerable<TSource>>();;
    }
}
public静态IEnumerable SomeFunc(此IEnumerable源代码)
{
if(source.Any())
{
返回可枚举的.Range(1,source.Count())。选择(c=>source.Take(c));
}
其他的
{
返回可枚举的.Empty();;
}
}

这个函数的好名字是什么?

不是一个有明确正确答案的问题,但正如我前面评论的那样,
前缀()
可能是一个合适的名字。例如,字符串的前缀就是单词前缀

var x = Prefixes("Dog", 2);

将是单词前缀
{“D”,“Do”}

我总是使用最能描述函数功能的名称。它应该随时自我记录。所以在你的情况下,我建议

GetCollectionOfInitialCharacters

我称之为
前缀()
@Anders写一个答案。因为这就是答案。最后一行不应该是
return Enumerable.Empty()
?@Roman吗,您的函数要复杂得多。如果,则根本不需要
;第一个分支就足够了。如果有人传入一组按钮对象,我会发现该方法的后缀
字符有点奇怪。我同意-但我给出的是一个建议,而不是100%的答案。。许多编码标准建议对执行内容的方法使用“活动”命名。例如,不是“总计”,而是“CalculateEffectiveEvenue”。