带有Console.Read的C#Lambda

时间:2014-10-30 07:15:46

标签: linq c#-4.0 lambda console-application

我问自己好几天了,现在是我需要帮助的时候了。

我的示例代码看起来像

int nTestCase  = Convert.ToInt32(Console.ReadLine());   
string[] inputStrings = new string[nTestCase];             

for (int i =0; i<nTestCase;i++)
 {
   inputStrings[i] = Console.ReadLine();
 }

有没有可能在这里避免广泛的for循环。只是想用Lambda表达式替换它?

这个问题可能听起来很疯狂,但我只是想知道Lambda是否可以处理Console.Read这个场景?

1 个答案:

答案 0 :(得分:3)

int nTestCase  = Convert.ToInt32(Console.ReadLine());
string[] inputStrings = Enumerable.Range(0, nTestCase)
                                  .Select(x => Console.ReadLine())
                                  .ToArray();

甚至

string[] inputStrings = Enumerable.Range(0, Convert.ToInt32(Console.ReadLine()))
                                  .Select(x => Console.ReadLine())
                                  .ToArray();