我有一个有数字的字符串
string sNumbers = "1,2,3,4,5";
我可以拆分它,然后将其转换为List<int>
sNumbers.Split( new[] { ',' } ).ToList<int>();
如何将字符串数组转换为整数列表? 这样我就可以将string[]转换为IEnumerable
我有一个有数字的字符串
string sNumbers = "1,2,3,4,5";
我可以拆分它,然后将其转换为List<int>
sNumbers.Split( new[] { ',' } ).ToList<int>();
如何将字符串数组转换为整数列表? 这样我就可以将string[]转换为IEnumerable
当前回答
你可以用这个:
List<Int32> sNumberslst = sNumbers.Split(',').ConvertIntoIntList();
其他回答
var numbers = sNumbers?.Split(',')?.Select(Int32.Parse)?.ToList();
最新版本的c# (v6+)允许您使用空条件操作符进行空检查
你也可以这样做,而不需要Linq:
List<int> numbers = new List<int>( Array.ConvertAll(sNumbers.Split(','), int.Parse) );
// Uses Linq
var numbers = Array.ConvertAll(sNumbers.Split(','), int.Parse).ToList();
Joze的方法也需要LINQ, ToList()是在系统。Linq命名空间。
你可以将Array转换为List而不需要Linq,通过将数组传递给List构造函数:
List<int> numbers = new List<int>( Array.ConvertAll(sNumbers.Split(','), int.Parse) );
在Unity3d上,int。解析工作不太好。所以我用波纹管。
List<int> intList = new List<int>( Array.ConvertAll(sNumbers.Split(','),
new Converter<string, int>((s)=>{return Convert.ToInt32(s);}) ) );
希望这对Unity3d用户有所帮助。
你也可以使用这个扩展方法
public static List<int> SplitToIntList(this string list, char separator = ',')
{
return list.Split(separator).Select(Int32.Parse).ToList();
}
用法:
var numberListString = "1, 2, 3, 4";
List<int> numberList = numberListString.SplitToIntList(',');