如何在C#中获取从“A:”到“Z:”的字符串列表?像这样:
List<string> list = new List<string>();
for (int i = 0; i < 26; i++)
{
list.Add(string.Format("{0}:", Convert.ToChar('A' + i));
}
抱歉,我现在没有可用于验证的VS来验证。顺便说一句,是否有网站可用于交互式测试代码片段?
答案 0 :(得分:12)
from ch in "ABCDEFGHIJKLMNOPQRSTUVWXYZ" select ch + ":";
答案 1 :(得分:10)
使用LINQ:
List<string> aToZ = Enumerable.Range('A', 26)
.Select(x => (char) x + ":")
.ToList();
不使用LINQ - 原始for循环的简单替代方法(IMO):
List<string> list = new List<string>();
for (char c = 'A'; c <= 'Z'; c++)
{
list.Add(c + ":");
}
答案 2 :(得分:3)
好吧,不计算缺少')'在list.Ad ....行的末尾,一切都很好,尽管你可以使用更短的记谱法写它
list.Add((char)('A' + i) + ":");
答案 3 :(得分:2)
编辑:你们都应该在没有阅读的情况下标记我的回复。这在VS2005中不起作用,这是OP所询问的内容。
List<string> list = new List<string>(Enumerable.Range((int)'A', 26).Select(value => ((char)value).ToString() + ':'));
答案 4 :(得分:1)
怎么样:
var list = Enumerable.Range('a', 'z' - 'a' + 1).Select(charCode => (char)charCode)).ToList();
答案 5 :(得分:0)
除了缺少a)之外,你的工作正常。我用LinqPad测试了所有剪辑。 (我不知道如果没有它我是如何生活的。)
答案 6 :(得分:0)
其他答案; - )
List<string> list = new List<string>();
for (int i = 'A'; i <= 'Z'; i++)
{
list.Add(string.Format("{0}:", Convert.ToChar(i)));
}
答案 7 :(得分:0)
为了测试代码段,我使用LinqPad或Snippet Compiler。我更喜欢LinqPad,但两者都非常好。