如何在 c# 中的浮点列表中添加浮点列表,统一?

Posted

技术标签:

【中文标题】如何在 c# 中的浮点列表中添加浮点列表,统一?【英文标题】:how to add list of floats within a list of floats in c#, unity? 【发布时间】:2021-10-16 17:45:15 【问题描述】:

我有一个循环遍历数组并将数组转换为浮点列表的forloop。

    private List<Single> xfloats;

for (int i = 0; i < DataServerManager.instance.x.Count; i++)

xfloats = DataServerManager.instance.x.Select(str => (ok: Single.TryParse(str, out Single f), f)).Where(t => t.ok).Select(t => t.f).ToList();


我有另一个名为“tempList”的浮点数列表,我想将“xfloats”的结果添加到 tempList 中。但我收到错误:error CS1503: Argument 1: cannot convert from 'System.Collections.Generic.List' to 'float'

      List<float> tempList = new List<float>();
        tempList.Add(xfloats);

如何将浮点数列表添加到浮点数列表中?

【问题讨论】:

也许你正在寻找List&lt;T&gt;.AddRange 或者可能只是 tempList = new List&lt;float&gt;(xfloats);tempList = xfloats.ToList();(使用 System.Linq)如果它应该只使用给定的数组项初始化列表一次? 无论如何这应该回答你的问题AddRange to a Collection和Add multiple items to a list 谢谢!是的,有效 【参考方案1】:

听起来像tempList 这样的问题文本中已经有一些数据,但在代码示例中它看起来像一个新的空列表。这两种情况需要不同的答案。

如果tempList已经有数据:

var xfloats = DataServerManager.instance.x.Select(str => (ok: Single.TryParse(str, out Single f), f)).Where(t => t.ok).Select(t => t.f);
tempList.AddRange(xfloats);

如果它还没有数据:

var xfloats = DataServerManager.instance.x.Select(str => (ok: Single.TryParse(str, out Single f), f)).Where(t => t.ok).Select(t => t.f);
var tempList = xfloats.ToList();

在这两种情况下,xfloats 将是 IEnumerable&lt;int&gt; 而不是列表。这将有助于提高性能和内存使用率。

【讨论】:

【参考方案2】:

如果是新列表,那么

List<float> tempList = new List<float>(xfloats);

或者,如果您列出的已经存在

tempList.AddRange(xfloats);

【讨论】:

以上是关于如何在 c# 中的浮点列表中添加浮点列表,统一?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中将浮点数列表输出到二进制文件

如何在 Firebase 实时数据库中存储浮点列表?

如何按升序对这个浮点数值列表进行排序?

如何在python中对具有浮点值的列表进行排序? [复制]

010整型浮点型字符串型列表型字典型布尔型

python使用np.linspace函数生成均匀的浮点数列表实战:生成浮点数列表生成浮点数列表(指定是否包含末尾值)