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

C#实例化含数组成员的类时如何正确传入数组参数?

正确传入数组类型构造参数的实现方法

你写法出错的原因是:单独的{"left", "right", "forward"}只是数组初始化器,不能直接作为参数传递,必须和数组创建语法结合使用,以下是两种可行的实现方式:

  • 写法1:显式声明数组类型(兼容所有C#版本)
    明确指定数组类型后搭配初始化器使用,示例代码如下:

    exampleClassList.Add(new exampleClass(10, "bird", new string[] {"left", "right", "forward"}));
    
  • 写法2:隐式类型数组(C# 3.0及以上版本支持)
    编译器可以根据初始化器内的元素类型自动推断数组类型,写法更简洁:

    exampleClassList.Add(new exampleClass(10, "bird", new[] {"left", "right", "forward"}));
    

注意:你定义的exampleClass类中c字段默认初始化了长度为3的字符串数组,但构造函数中会把传入的数组直接赋值给c,如果传入的数组长度不等于3,最终c的长度会以你传入的数组为准,原初始化的长度3会被覆盖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:54:04