以下linq扩展方法有什么好名字?

时间:2013-07-06 10:46:34

标签: c# linq

我的代码中有一些地方我希望得到一个带有第一个元素的枚举的集合,前两个元素,一个集合的前三个元素等等。

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>>();;
    }
}

这个功能有什么好名字?

2 个答案:

答案 0 :(得分:1)

不是一个明确正确答案的问题,但正如我之前评论的Prefixes<T>()可能是一个合适的名称。例如,字符串的前缀可以是单词前缀。

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

将是前缀{ "D", "Do" }

答案 1 :(得分:0)

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

GetCollectionOfInitialCharacters