Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将Enumerable.Range转换为字符串列表_C#_Linq - Fatal编程技术网

C# 将Enumerable.Range转换为字符串列表

C# 将Enumerable.Range转换为字符串列表,c#,linq,C#,Linq,在Linq中,如何将Enumerable.Range(1,31)转换为字符串列表?尝试以下操作: var list = Enumerable.Range(1, 31).Select(n => n.ToString()).ToList(); string list = string.Join(string.Empty, Enumerable.Range(1, 31)); 对不起,我只转换成字符串 var list = string.Join(",", Enumerable.Range(

在Linq中,如何将Enumerable.Range(1,31)转换为字符串列表?

尝试以下操作:

var list = Enumerable.Range(1, 31).Select(n => n.ToString()).ToList();
 string list = string.Join(string.Empty, Enumerable.Range(1, 31));
对不起,我只转换成字符串

var list = string.Join(",", Enumerable.Range(1, 31)).Split(',').ToList();
static void Main(字符串[]args)
{
列表测试;
test=Enumerable.Range(1,31)。选择(n=>n.ToString()).ToList();
foreach(测试中的var项目)
{
控制台写入线(项目);
}
Console.ReadLine();
}
这个为我打印了31行:)


因为n不是从IEnumerable继承的,所以测试是通过延迟执行来实现的。GetRange返回的值是执行操作所需的信息。在通过调用对象的GetEnumerator方法或使用foreach枚举对象之前,不会执行查询。@JimLahman,虽然您是对的,但在给定的代码中,查询是在
.ToList()
方法中执行的,该方法位于
foreach
之前。在执行
foreach
时,列表已经包含了所有的字符串值。对我来说,连接和拆分似乎效率相当低。为什么不直接使用
选择
    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();
    }