我想传递一个总是已知大小的数组中的一些值.我想定义一个表示这个十进制值数组的类,它不能调整大小,总是具有相同数量的元素,并支持[]数组表示法.
在c ++中,我可以为此执行运算符重载 - 但我无法在c#中看到如何执行此操作
要清楚 - 类的使用将是这样的:
MyValues values = new MyValues;
values[3] = 14;
values[7] = 10
Run Code Online (Sandbox Code Playgroud)
.... 然后
decimal aValue = values[2];
Run Code Online (Sandbox Code Playgroud)
建议?
SLa*_*aks 13
你需要编写一个索引器,如下所示:
public decimal this[int index] {
get { return data[index]; }
set { data[index] = value; }
}
Run Code Online (Sandbox Code Playgroud)
使用索引器
public class MyValues {
private readonly decimal[] numbers = new decimal[10];
public decimal this[int index] {
get { return numbers[index]; }
set { numbers[index] = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
您可能希望添加一些边界检查以提供更好的故障消息.您可能也不想硬编码数组大小.
| 归档时间: |
|
| 查看次数: |
176 次 |
| 最近记录: |