首页 > 解决方案 > 如何在 c# 中的浮点列表中添加浮点列表,统一?

问题描述

我有一个循环遍历数组并将数组转换为浮点列表的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 中。但我收到错误:错误 CS1503:参数 1:无法从 'System.Collections.Generic.List' 转换为 'float'

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

如何将浮动列表添加到浮动列表中?

标签: c#listunity3d

解决方案


在问题文本中听起来好像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<int>而不是一个列表。这将有助于性能和内存使用。


推荐阅读