使用LINQ将整数范围转换为字符串列表

时间:2011-10-28 18:44:59

标签: c# linq

如何使用LINQ将一系列整数转换为字符串列表?

例如,对于1-12的整数范围,预期结果为“01”,“02”,“03”,......,“12”。

我提出的方法是逐步构建List<string>。有没有更简洁的方法来获得我想要的结果?

var numbers = Enumerable.Range(1, 12);
var numberList = new List<string>();

foreach (var item in numbers)
{
    string mth = (item.ToString().Length == 1)
        ? "0" + item.ToString()
        : item.ToString();

    numberList.Add(mth);
}

3 个答案:

答案 0 :(得分:5)

ToString can do this for you:

Enumerable.Range(1, 12).Select(n => n.ToString("00"))

答案 1 :(得分:2)

可能正在使用string.Join()Where()

var numers = numbers
   .Where(n => n > 5)
   .Select(n => String.Format("\"{0}\"", n));
var str = String.Join(numbers, ",")

答案 2 :(得分:0)

var numberList = numbers.Select(x => x.ToString());