我有这个字符串05201 05594 05453 05521 05330 04952 04984 04526
,我需要把它变成一个双打数组。
我怎么能这样做,而不包括最后的额外空间?
编辑:我需要跳过该步骤并将其添加到现有双打列表的末尾,而不是变成双打数组
答案 0 :(得分:4)
试试这个:
var splitted = yourString.Split(new []{" "},
StringSplitOptions.RemoveEmptyEntries);
existingListOfDoubles.AddRange(splitted.Select(double.Parse));
在ideone处尝试。编辑以匹配问题
答案 1 :(得分:2)
var str = "05201 05594 05453 05521 05330 04952 04984 04526";
var result = str.Split(new char[] { ' ' },StringSplitOptions.RemoveEmptyEntries)
.Select(Convert.ToDouble).ToList();
答案 2 :(得分:2)
string stringList = "05201 05594 05453 05521 05330 04952 04984 04526 ";
var doubles = stringList.TrimEnd().Split(' ').Select(s => double.Parse(s)).ToList();
答案 3 :(得分:1)
拆分并转换。这假定您的字符串仅包含数字
使用List<double>
代替数组来获得更高级的功能
string inputString = "05201 05594 05453 05521 05330 04952 04984 04526 ";
string[] results = inputString.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
List<double> d = new List<double>();
d.AddRange(results.Select(x => Convert.ToDouble(x)));
现在,如果您想要存储在数组中,只需将List<double>
转换回数组
double[] values = d.ToArray();
相反,如果您想将这些结果附加到现有的双打列表
List<double> currentValues = new List<double>() {5345, 4213};
currentValues.AddRange(d);