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”。