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

如何填充二维对象数组?填充结果不符合预期求助

构建符合预期的C#二维对象数组

你需要的是**object[][]类型的交错数组**(又称 jagged array),而非严格意义上的二维数组object[,]。如果你的代码没生成预期结构,多半是嵌套层级或类型声明出了问题,下面给你几种可靠实现方式及错误排查点:

写法一:直接初始化(与示例逻辑一致)

这是最直观的方式,在顶层数组内直接嵌套new object[]创建子数组,编译器会自动推断类型为object[][]:

Guid guid = Guid.NewGuid();
var data = new[] {
    new object[] { 22, "cust1_fname", "cust1_lname", guid },
    new object[] { 23, "cust2_fname", "cust2_lname", guid },
    new object[] { 24, "cust3_fname", "cust3_lname", guid },
};

写法二:显式声明类型后填充

如果自动推断出现歧义,可以显式指定数组类型,适合动态添加元素的场景:

Guid guid = Guid.NewGuid();
object[][] data = new object[3][];
data[0] = new object[] { 22, "cust1_fname", "cust1_lname", guid };
data[1] = new object[] { 23, "cust2_fname", "cust2_lname", guid };
data[2] = new object[] { 24, "cust3_fname", "cust3_lname", guid };

常见错误排查

  • 不要误写为严格二维数组object[,]:这种数组的子元素是单个值而非数组,写法为new object[3,4],和你需要的结构完全不符。
  • 避免额外嵌套容器:比如错误使用new[] { new List<object> { ... } },此时顶层数组的元素是List<object>而非object[],破坏了预期结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 16:22:06