对于C#来说,我是一个非常陌生的人,但仍在努力围绕它的一些核心概念。第一次向StackOverflow发布问题。
这就是我需要帮助的地方
为以下属性设置属性:私有字符串数组; : 以便: “数组的每个元素都必须> = 0和<= 10”
我应该一直运行它,然后为每个元素或其他内容设置array = value吗?
这就是我所做的:
private string array;
public int[] Array
{
get { return array; } //-is this part good for the task?
set
{
//what do I do here to make sure the elements are withing the
//given interval?
}
}
答案 0 :(得分:1)
看看这是否是您需要的(Demo):
public class myClass
{
private int[] _Array = new int[10];
public int this[int index]
{
get { return _Array[index]; }
set
{
if (value >= 0 && value <= 10)
_Array[index] = value;
}
}
}
public class Program
{
public static void Main(string[] args)
{
myClass m = new myClass();
m[0] = 1;
m[1] = 12;
Console.WriteLine(m[0]); // outputs 1
Console.WriteLine(m[1]); // outputs default value 0
}
}
答案 1 :(得分:0)
您正在寻找类似的东西
private int[] _privateArray;
public int[] PublicArray
{
get
{
return _privateArray;
}
set
{
foreach (int val in value)
{
if (val < 0 || val > 10) throw new ArgumentOutOfRangeException();
}
// if you get to here you can set value
_privateArray = (int[])value.Clone();
}
}
请注意,私有财产和公共财产必须为同一类型