c# - 如何通过表示[i,j]的单个变量访问多维数组的元素?
问题描述
我有一个 4x4 数组。我想给特定元素一些昵称(变量),但我没有找到直观的解决方案。
问题:如何通过单个元素访问特定元素?为了将来的可读性,我打算为每个元素使用别名。让未来的维护者知道每个元素的含义。
int[] arr = new int[ 4,4 ];
//This code won't compile
var YtoZ = "1,2";
int value = arr[ YtoZ ]; // equivalent to arr[1,2];
我检查了MSDN,但它的示例是通过硬编码值访问的。
我尝试了以下关键字:
- “C#通过单个变量访问多维数组索引”
- “c#通过变量指定多维数组”
最相关的帖子是使用元组来保存它: 如何保存多维数组索引?
其他结果大多是如何声明的:
我的解决方法可能是用重载的枚举值包装一个数组,但我觉得想太多了。
public class wrapper
{
public enum NickName
{
X2x = 0,
X2y = 10,
Z2x = 2020,
X2z = 2000,
}
// Provide [] operator access
public object this[ NickName index ]
{
get
{
int i = (int)index % 100;
int j = (int)index / 100;
return m_Matrix[ i, j ];
}
}
float[,] m_Matrix = new float[ 4, 4 ];
}
解决方案
推荐阅读
- ruby-on-rails - 制作神社宝石来重新处理附件?
- qt - 为什么当focusPolicy = NoFocus时QSpinBox获得焦点
- ios - 如何选中 swift4 单元格数据中的表格视图单元格来自服务器
- angular - 如何在 mat-tab-group 中更改 Angular 的过渡效果?
- command-line - 当 .testcafec.json 有视频选项时如何在命令行上禁用视频
- testing - 没有这样的元素:无法找到元素:{"method":"css selector","selector":".flexipageTabset>.uiTabBar.uiTabItem.title"}
- php - ajax调用后网站变慢
- r - 列出今天创建的目录中的文件
- sql - 在 Oracle 中连接来自不同服务器的表 - Microsoft Query
- javascript - 将 jQuery 添加到 Wordpress 头部