如何在C#中使用数组元素的get和set?
我有以下课程:如何在C#中使用数组元素的get和set?,c#,arrays,properties,get,set,C#,Arrays,Properties,Get,Set,我有以下课程: 公共类测试 { 私人互联网i; 公共测试(int-in) { i=英寸; } 公共智力测验; { 获取{return i;} 集合{i=testint;} } } 以及以下代码: test[]数据=新测试[3]; 对于(int j=0;j
公共类测试
{
私人互联网i;
公共测试(int-in)
{
i=英寸;
}
公共智力测验;
{
获取{return i;}
集合{i=testint;}
}
}
以及以下代码:
test[]数据=新测试[3];
对于(int j=0;j<3;j++)
{
数据[i]=新试验(0);
data[i].testint=int.Parse(Console.ReadLine());
}
Console.WriteLine(test[0].testint);
Console.WriteLine(test[1].testint);
Console.WriteLine(test[2].testint);
当我运行这个程序并输入1,2,3作为输入时,输出是0,0,0。我不明白为什么get或set似乎不起作用。如果我用一个非0的值初始化数组元素,则输出将是该值。数据[i].testint=int.Parse(Console.ReadLine());似乎不起作用。我该怎么做那样的事呢?你的塞特不正确。应该是:
set { i = value; }
你有:
set { i = testint; }
这只会触发getter,getter来自i
,因此最终setter执行的是i=i
在setter中,value
关键字包含属性的新候选值<代码>值的类型等于属性的类型。我之所以说候选值,是因为您可以验证它并选择不应用它
在您的情况下,您没有应用该值
更新
此外,在定义getter和setter时,不应使用分号。那么,代码将如下所示:
public int testint
{
get { return i; }
set { i = value; }
}
public int testint
{
get { return i; }
set { i = value; }
}
我在这段代码中看到两个错误:
public int testint;
{
get { return i; }
set { i = testint; }
}
顶部的testint
后面不应有分号。另外,设置
需要使用值
进行赋值,如下所示:
public int testint
{
get { return i; }
set { i = value; }
}
public int testint
{
get { return i; }
set { i = value; }
}
将您的setter更改为:
set { i = value; }
值与设置变量时发送的值相对应。将设置方法更改为:
public int testint
{
get { return i; }
set { i = value; }
}
这里有一个简单的方法
public int TestInt {get; set;}
那个setter看起来不对。这只解决了我在回答中指出的一个语法错误。@JonathanWood,你是对的。不过,没必要投否决票。答案是固定的。无论是否有理由投反对票,我都没有投反对票。@JonathanWood这很酷,至少现在答案更完整了。希望这能帮助OP和future Browser让我有点不同意。没有两个语法错误:一个语法错误和一个语义错误。setter在语法上没有错误。