繁体   English   中英

读取多行并拆分空间 c# 控制台应用程序

[英]Read multiple lines and split on space c# console application

我有这个用户输入:

第一行:1 2 第二行:0 1 1 第三行:1 0 0

使用下面的代码,我设法读取了所有行并将它们存储到列表中,在最后一点代码中,我想要做的是存储整数类型 Int32 之类的值,谁能告诉我更好的方法来做到这一点手术?

 List<string> lines = new List<string>();
 string line;
 int count = -2;
 int totCount = 0;
 while (count<=totCount)
       {
          line = Console.ReadLine();

          lines.Add(line);
          count++;               
       }


 var line1 = lines[0];
 var line2 = lines[1];
 var line3 = lines[2];

 string[] ee = line1.Split(new char[] { ' ' }, StringSplitOptions.None);
 int c = Int32.Parse(ee[1]);
 ...

如果我理解你的意思并且你想输入一个集合List<int[]> ,让我们提取一个方法

 private static IEnumerable<int[]> ReadData() {
   while (true) {
     Console.WriteLine("Next line of integers or q for quit");
     string input = Console.ReadLine().Trim();

     if (input == "q")
       break;

     yield return input
       .Split(new char[] {' ', '\t'}, StringSplitOptions.RemoveEmptyEntries)
       .Select(item => int.Parse(item)) // int.TryParse will be better
       .ToArray();
   }
 }

然后你可以放

 List<int[]> trainInfo = ReadData().ToList();
public struct Data
{
    public Data(int intValue)
    {
        IntData = intValue;
    }

    public int IntData { get; private set; }  
}

var list = new List<Data>();
list.Add(new Data(123));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM