二维数组属性
是否可以为二维数组编写一个属性来返回数组的特定元素?我很确定我不是在寻找索引器,因为它们数组属于静态类。
Is it possible to write a property for a 2D array that returns a specific element of an array ? I'm pretty sure I'm not looking for an indexer because they array belongs to a static class.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
听起来您想要一个带有参数的属性 - 这基本上就是索引器。但是,您不能用 C# 编写静态索引器。
当然,您可以只编写一个返回数组的属性 - 但我认为出于封装的原因您不想这样做。
另一种选择是编写
GetFoo(int x, int y)
和SetFoo(int x, int y, int value)
方法。另一种替代方法是在数组周围编写一个包装类型并将that作为属性返回。包装类型可以有一个索引器 - 也许只是一个只读索引器,例如:
然后:
It sounds like you want a property with parameters - which is basically what an indexer is. However, you can't write static indexers in C#.
Of course you could just write a property which returns the array - but I assume you don't want to do that for reasons of encapsulation.
Another alternative would be to write
GetFoo(int x, int y)
andSetFoo(int x, int y, int value)
methods.Yet another alternative would be to write a wrapper type around the array and return that as a property. The wrapper type could have an indexer - maybe just a readonly one, for example:
Then:
你的意思是这样的吗?
其中 x 是行,y 是列。
Do you mean something like this?
Where x is the row and y is the column.
也许是这样的?:
Maybe something like this?: