C# · 12月 23, 2021

c# – 拆分文本并转换linq

我有一个字符串数组,并希望使用LINQ将其转换为double数组.我不想使用foreach循环. var texts = new List<string> {“-87.98 65″,”-86.98 75″,”-97.98 78″,”-81.98 65″}

至:

var numerics = new List<IEnumerable<double>> { new List<double>{-87.98,65},new List<double>{86.98,75},new List<double>{-97.98 78},new List<double>{-81.98 65}}

LINQ有什么简短的方法吗?

解决方法 你可以用这个: var doubles = texts.Select(x => x.Split() .Select(y => double.Parse(y,CultureInfo.InvariantCulture)) .ToList() .AsEnumerable() // added to comply to the desired signature ) .ToList() // added to comply to the desired signature ;

它首先选择字符串,将其拆分为空格,然后解析字符串数组中的字符串以使其翻倍.该输出将转换为列表.