我对C#非常陌生,我仍然试图围绕它的一些核心概念。第一次向StackOverflow发布一个问题。
所以这就是我需要帮助的:
为以下属性创建一个属性:private string array; :这样:“数组的每个元素都需要> = 0且<= 10”
我应该通过for,然后为每个元素设置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?
}
}
看看这是否是你需要的(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
}
}
你正在寻找这样的东西
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();
}
}
请注意,私人财产和公共财产必须是同一类型