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

数组Append方法失效求助:调用后数组未新增任何元素

数组追加元素失败的原因及解决方法

问题根源

C#里的数组是固定长度的,Append<gObject>(reg)方法不会修改原数组OBJECTS,而是返回一个包含新增元素的新数组。你当前的代码没有把这个新数组赋值回OBJECTS,所以原数组始终是空的,自然看不到新增元素。

修复方案1:接收Append的返回值

修改代码,将Append生成的新数组重新赋值给OBJECTS:

public gObject[] OBJECTS = {};
public void RegisterObjectToRender(gObject reg)
{
    // 接收Append返回的新数组并覆盖原数组
    OBJECTS = OBJECTS.Append<gObject>(reg).ToArray();
    for (int ri = 0; ri < OBJECTS.Length; ri++)
    {
       Console.WriteLine(OBJECTS[ri].Name);
    }
}

修复方案2:改用List(更推荐)

如果需要频繁添加元素,List<T>是更合适的选择,它支持动态扩容,Add()方法直接修改集合本身:

// 替换数组为List,支持动态添加元素
public List<gObject> OBJECTS = new List<gObject>();
public void RegisterObjectToRender(gObject reg)
{
    OBJECTS.Add(reg);
    foreach (var obj in OBJECTS)
    {
       Console.WriteLine(obj.Name);
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 04:24:11