有没有办法从数组和整数值初始化元素列表?

埃里克268

我有一个名为 Foo 的类,它有一个 float 和 Bar 属性。

public class Bar
{
   //Contains Stuff
}

public class Foo
{
    public Foo(Bar _key, float _score)
    {
        Bar = _key;
        Score = _score;
    }

    public Bar Key;
    public float Score;
}

Bar[] barArray = new Bar[10];
List<Foo> fooList = barArray.ToList() //Where this would initialize the List with 10 Foo elements
                                      // each with the respective Bar object from the array and 
                                      //a value of 0.0 for their Score;

我有一组 Bar 对象。我想创建一个 Foo 对象列表,其“Key”属性初始化为数组中的值,其“Score”值初始化为 0。

豪库尔哈夫

您不能通过调用 barArray.ToList() 创建 Foo 列表,因为 Bar 和 Foo 是不同的类,即您不能将 Bar 转换为 Foo。

如果我对您的理解正确,则此 LINQ 语句可能会执行您想要的操作:

List<Foo> fooList = barArray.Select(x => new Foo(x, 0.0)).ToList();

基本上,对于 barArray 中的每个元素,选择它但创建一个 Foo 对象的新实例,在构造函数中传递 x 和 0.0,其中 x 是 barArray 中的当前元素并且分数为 0.0,然后将其转换为一个列表,这本质上返回一个 Foo 列表。您需要using System.Linq在代码文件的顶部添加。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有办法初始化变量数组中的新列表

有没有办法比较用int初始化的char类型的数组的2个元素?

有没有办法用混合字符和“字符串”初始化数组

有没有办法在 C++17 中折叠初始化列表

有没有办法在声明时用缓冲区初始化数组?

有没有办法不必两次初始化数组?

在C ++ 11及更高版本中,有没有办法在初始化列表中初始化向量?

有没有办法将所有 int 数组元素初始化为零,除了循环

有没有办法用其他数组初始化2D数组?

有没有办法告诉Rust编译器在处理恐慌时对部分初始化的数组元素调用drop?

有没有办法初始化保留初始HTML的Vue对象

有没有办法为C ++范围循环选择条件选择不同的初始化程序列表?

有没有办法在 C++ 中初始化这样的 3D 数组?

使用对象初始化程序时,有没有办法初始化私有类成员?

有没有办法不触发Variable <T>的初始化值?

有没有办法只初始化一次阵列?

有没有办法抑制角度条件下子组件的初始化?

有没有办法判断是否已初始化惰性变量?

有没有办法初始化一个空切片?

有没有办法警告指定的初始化程序错误?

有没有办法初始化大括号中的成员?

有没有办法强制对std :: array进行完全初始化

有没有办法初始化PHPUnit Test类模板?

有没有办法预测未初始化变量的值?

有没有办法在 Stata 中初始化 3D 矩阵?

有没有办法在列表中找到包含数据框和整数的列表的索引?

有没有办法用输入的维度初始化二维数组中的所有项目,而无需在 C++ 中循环?

有没有办法使用sprintf填充包含格式化元素的char数组?

如何清除现有模型,或者有没有办法重新初始化摩纳哥编辑器