gpt4 book ai didi

c# - 带参数的二维数组

转载 作者:太空宇宙 更新时间:2023-11-03 20:59:16 25 4
gpt4 key购买 nike

我正在尝试创建一个二维数组,但我似乎无法在构造函数中传递值。

例如

public class MyObj
{
public string State {get; private set;}
public MyObj(string s)
{
this.State = s;
}
}

在另一个类(class)

private MyObj[,] Obj;
private void Setup()
{
this.Obj = new MyObj[5,5];
}

当我查看 this.Obj 时,State 的值始终为 null。我明白为什么,但没有遍历数组中的每个项目(在它创建之后)并设置 State 属性(删除 private set)我不确定我是否有其他选择?

虽然我知道语法是错误的,但是类似

this.Obj = new MyObj("default text for each item in array")[5,5,]

最佳答案

当您使用 new 创建引用对象数组时,每个元素都设置为默认值 null。没有传递默认元素的语法,因此您需要使用嵌套循环手动填充数组:

private void Setup() {
this.Obj = new MyObj[5,5];
int rows = codes.GetLength(0);
int cols = codes.GetLength(1);
for (var r = 0; r != rows ; r++) {
for (var c = 0 ; c != cols ; c++) {
Obj[r,c] = new MyObj("default text for each item in array");
}
}
}

关于c# - 带参数的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47314369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com