C#代码获取A到Z之类的字符串列表?

时间:2009-07-19 20:28:37

标签: c# visual-studio-2005

如何在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来验证。顺便说一句,是否有网站可用于交互式测试代码片段?

8 个答案:

答案 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)

为了测试代码段,我使用LinqPadSnippet Compiler。我更喜欢LinqPad,但两者都非常好。