You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#:新建Request对象时如何向其Loads数组添加Load对象

解决Request对象数组属性初始化错误的方法

你的错误原因是在初始化Loads数组时,错误使用了Loads[0]这个未定义的标识符——当前上下文里还不存在名为Loads的变量,直接构造数组元素即可。

以下是几种正确的写法:

方法1:直接指定数组长度并初始化元素

var requests = new List<Request>
{
    new Request()
    {
        RequestId = "1",
        Name = "ATLGA",
        Loads = new Load[1] { new Load { IsLoaded = true, LoadId = "L001" } }
    }
};

直接在数组初始化器中传入Load对象,无需通过索引赋值。

方法2:利用类型推断简化数组声明

var requests = new List<Request>
{
    new Request()
    {
        RequestId = "1",
        Name = "ATLGA",
        Loads = new[] { new Load { IsLoaded = true, LoadId = "L001" } }
    }
};

通过new[]让C#自动推断元素类型为Load,省略显式的数组长度和类型声明。

方法3:先创建集合再转数组(适合多元素场景)

如果需要添加多个Load对象,这种方式更灵活:

var loads = new List<Load>
{
    new Load { IsLoaded = true, LoadId = "L001" },
    new Load { IsLoaded = false, LoadId = "L002" }
};

var requests = new List<Request>
{
    new Request()
    {
        RequestId = "1",
        Name = "ATLGA",
        Loads = loads.ToArray()
    }
};

额外建议:如果后续需要频繁修改Loads的元素,可考虑将Request类中的Loads属性类型改为List<Load>,这样添加元素时直接调用Loads.Add(new Load(...))即可,无需处理数组扩容的问题。

内容的提问来源于stack exchange,提问作者QueenBee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 16:32:02