C# 转换列表<;字符串>;列出<;int>;

C# 转换列表<;字符串>;列出<;int>;,c#,list,C#,List,我从文本文档中读取数字列表,并将其保存在列表中,我正在尝试将这些数字转换为列表。数字之间用空格分隔。以下是我尝试的,假设数字是字符串列表: List<int> AllNumbers = Numbers.ConvertAll<int>(Convert.ToInt32); List AllNumbers=Numbers.ConvertAll(Convert.ToInt32); 当我尝试使用它时,它说“输入字符串的格式不正确。” 将列表转换为列表的正确方法是什么 样本:

我从文本文档中读取数字列表,并将其保存在
列表中
,我正在尝试将这些数字转换为
列表
。数字之间用空格分隔。以下是我尝试的,假设数字是字符串列表:

List<int> AllNumbers = Numbers.ConvertAll<int>(Convert.ToInt32);
List AllNumbers=Numbers.ConvertAll(Convert.ToInt32);
当我尝试使用它时,它说“输入字符串的格式不正确。”

列表
转换为
列表
的正确方法是什么

样本:

            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);
stringnumbers=File.ReadAllText(“numbers.txt”);
string[]allNumbers=numbers.Split(新字符[]{','\t','\r','\n'},StringSplitOptions.RemoveEmptyEntries);
列表=新列表();
列表。添加范围(所有编号);
然后,我想获取allNumbers列表,并将其转换为整数列表

文本文件如下所示:


10 12 01 03 22…ect

看起来您的数字是在一个由空格分隔的字符串中,如果这样,您可以使用Linq:

List<int> allNumbers = numbers.Split(' ').Select(int.Parse).ToList();
List allNumbers=numbers.Split('').Select(int.Parse.ToList();
如果您真的有一个
列表
编号,只需:

List<int> allNumbers = numbers.Select(int.Parse).ToList();
List allNumbers=numbers.Select(int.Parse.ToList();
最后,如果每个字符串可能包含多个由空格分隔的数字:

List<int> allNumbers  = numbers.SelectMany(x=> x.Split(' ')).Select(int.Parse).ToList();
List allNumbers=numbers.SelectMany(x=>x.Split(“”)).Select(int.Parse.ToList();

假设列表中的每个字符串包含一个或多个由空格分隔的整数,您可以尝试以下方法:

var res = listOfNumbers
    .SelectMany(numStr => numStr.Split(' ').Select(s => int.Parse(s)))
    .ToList();

您可以在最后一个select:
select(int.Parse)

中使用方法组而不是lambda,这样您就有了字符串列表,其中每个字符串都由空格分隔的数字组成?它们都在一个由空格分隔的长字符串中。谢谢,今晚我将尝试这些方法。无论我使用哪种方法,我仍然得到格式不正确的字符串。你知道为什么会这样吗?在问题中添加一个输入和预期输出的示例,很难说其他的。谢谢您的帮助。您的示例输入对我来说很好-您确定输入文件中没有非数字字符吗?