将Enumerable.Range转换为字符串列表
答
答
试试这个:
string list = string.Join(string.Empty, Enumerable.Range(1, 31));
对不起,我只转换为字符串。
var list = string.Join(",", Enumerable.Range(1, 31)).Split(',').ToList();
答
static void Main(string[] args)
{
List<string> test;
test = Enumerable.Range(1, 31).Select(n => n.ToString()).ToList();
foreach (var item in test)
{
Console.WriteLine(item);
}
Console.ReadLine();
}
这一次印刷31线我:)。
+0
由于_n_不是从_IEnumerable_继承的,因此_test_是通过延迟执行来实现的。 _GetRange_返回的值是执行该操作所需的信息。直到通过调用其_GetEnumerator_方法或使用_foreach_枚举对象才能执行查询**。 –
+1
@JimLahman,虽然你是对的,但在给定的代码中,查询是在'foreach'之前的'.ToList()'方法中执行的。在执行'foreach'时,列表已经包含了所有的字符串值。 –
加入,然后分裂似乎相当低效率给我。为什么不使用“选择”? –