将List <String>转换为List <int>

Eme*_*ca. 2 c# list

我从文本文档中读取了一个数字列表并将它们保存在一个中List<String>,我试图将这些数字转换成一个数字List<int>.数字用空格分隔.这是我尝试过的,假设Numbers是String列表:

List<int> AllNumbers = Numbers.ConvertAll<int>(Convert.ToInt32);
Run Code Online (Sandbox Code Playgroud)

当我尝试使用时,说"输入字符串的格式不正确".

将a转换List<String>为a 的正确方法是List<int>什么?

样品:

            string numbers = File.ReadAllText("numbers.txt");
            string[] allNumbers = numbers.Split(new char[] { ' ', '\t', '\r', '\n' },    StringSplitOptions.RemoveEmptyEntries);
            List<string> List = new List<string>();
            List.AddRange(allNumbers);
Run Code Online (Sandbox Code Playgroud)

然后我想将List allNumbers转换为整数List.

文本文件如下所示:

10 12 01 03 22 ....等

Bro*_*ass 5

看起来你的数字是用空格分隔的单个字符串,如果可以的话你可以使用Linq:

List<int> allNumbers = numbers.Split(' ').Select(int.Parse).ToList();
Run Code Online (Sandbox Code Playgroud)

如果你真的有一个List<string>数字已经简单:

List<int> allNumbers = numbers.Select(int.Parse).ToList();
Run Code Online (Sandbox Code Playgroud)

或者最后,如果每个字符串可能包含多个以空格分隔的数字:

List<int> allNumbers  = numbers.SelectMany(x=> x.Split(' ')).Select(int.Parse).ToList();
Run Code Online (Sandbox Code Playgroud)