【发布时间】:2009-10-27 19:08:53
【问题描述】:
好的,
我们的代码中有很多 where 子句。我们有同样多的方法来生成一个字符串来表示 in 条件。我试图想出一个干净的方法如下:
public static string Join<T>(this IEnumerable<T> items, string separator)
{
var strings = from item in items select item.ToString();
return string.Join(separator, strings.ToArray());
}
可以这样使用:
var values = new []{1, 2, 3, 4, 5, 6};
values.StringJoin(",");
// result should be:
// "1,2,3,4,5,6"
所以这是一个很好的扩展方法,可以完成非常基本的工作。我知道简单的代码并不总是能快速或高效地执行,但我只是好奇这个简单的代码会错过什么。我们团队的其他成员认为:
- 不够灵活(无法控制字符串表示)
- 可能内存效率不高
- 可能不会很快
任何专家可以插话吗?
问候,
埃里克。
【问题讨论】:
-
这里的“in”条件在哪里?
标签: c# optimization extension-methods memory-management