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