C# 将字符串转换为列表时出现问题

C# 将字符串转换为列表时出现问题,c#,C#,我有一个字符串,看起来像34,45,74,23,是动态生成的。如何将其转换为列表 var y = numString(); y.ToList(); 这应该给你一个清单 如果您不确定所有字符串都可以解析为int,或者字符串包含多个逗号,如23、24、25或无效字符,则可以使用Where首先筛选序列: var numbers = str.Split(',').Where(x => x.All(char.IsDigit)).Select(int.Parse); 或者您可以使用TryParse

我有一个字符串,看起来像34,45,74,23,是动态生成的。如何将其转换为列表

var y = numString();
y.ToList();
这应该给你一个清单

如果您不确定所有字符串都可以解析为int,或者字符串包含多个逗号,如23、24、25或无效字符,则可以使用Where首先筛选序列:

var numbers = str.Split(',').Where(x => x.All(char.IsDigit)).Select(int.Parse);
或者您可以使用TryParse:


很可能,TryParse是最好的选择,因为它对所有数字都返回true,而不仅仅是0-9。

这应该对您有用

string source = "34,45,74,23";
var stringArray = source.Split(',');
var intArray = stringArray.Select(x => Convert.ToInt32(x)).ToList();
使用Linq:

var numbers = y.Split(',').Select(num => int.Parse(num)).ToList();

如果您确定格式有效,则可以使用,并且使用更高效的格式:

string[] numbers = "34,45,74,23".Split(',');
var list = new List<int>(Array.ConvertAll(numbers, int.Parse));
那是34,45和74,23吗?
var numbers = y.Split(',').Select(num => int.Parse(num)).ToList();
string[] numbers = "34,45,74,23".Split(',');
var list = new List<int>(Array.ConvertAll(numbers, int.Parse));