【发布时间】:2023-04-01 17:15:02
【问题描述】:
所谓自然,我的意思是:
item1、item2、item3 和 item4。
我知道你可以用string.Join 做一个逗号分隔的列表,比如
项目1,项目2,项目3,项目4
但是你怎么能做出这样的列表呢?我有一个基本的解决方案:
int countMinusTwo = theEnumerable.Count() - 2;
string.Join(",", theEnumerable.Take(countMinusTwo)) + "and "
+ theEnumerable.Skip(countMinusTwo).First();
但我很确定有更好的(如更有效的)方法来做到这一点。任何人?谢谢。
【问题讨论】:
-
那么输出会是什么样子?
-
@Tigran 输出在顶部。第一个报价块。 =)
-
你的代码不会产生
"item1, item2 and item3."吗? -
@Tim - oxford comma 的使用有待讨论。
-
@Tim - 那么,在这种情况下,什么是“自然”或不是“自然”是非常主观的。即使我同意,像这样的逗号也是合乎逻辑的,“自然”是每个人最习惯的。所以没有上下文,不使用它不能简单地称为“不正确”。