gpt4 book ai didi

c# - 在 C# 中从 List 中提取 double 值的有效方法

转载 作者:太空宇宙 更新时间:2023-11-03 22:07:15 25 4
gpt4 key购买 nike

我有一个字符串,其中包含类似这样的图形数据..

string sGraph = "0.05 /m 0.05 /m 0.05 /m 0.05 /m 0.05 /m 0.05 /m 0.05 /m 0.05....... 0.05 /m";

我必须将 double 值提取到 double[] 或列表中以进行进一步处理。对于前。我用

List<String> sGraphPoints = Regex.Split(sGraph, " /m").ToList<string>();

检索字符串列表中的 double 值。然后我可以使用字符串列表中的每个值进行进一步处理。有没有一种有效的方法可以让我做同样的事情,而不是将每个字符串变量值转换为 double 值,如下所示...

double[] dGraphPoints = new double[sGraphPoints.Count];
int i = 0;
foreach (string str in sGraphPoints)
{
if (str != "")
{
dGraphPoints[i] = double.Parse(str);
}
else
{
dGraphPoints[i] = 0.0;
}

i++;
}

提前致谢

最佳答案

double[] dGraphPoints = sGraph.Split("/m")
.Select(s => s.Trim())
.Where(s => !string.IsNullOrEmpty(s))
.Select(s => Double.Parse(s))
.ToArray()

这只是稍微“高效”一点,因为它没有使用正则表达式,也没有在两者之间创建额外的列表。

但实际上,这归结为您使用这些值的目的是什么?您可以修改 where 子句以仅选择您感兴趣的值,但我不知道这些值是什么。

关于c# - 在 C# 中从 List<string> 中提取 double 值的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7979061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com