c# - 将二维数组的名称转换为字符串
问题描述
我有几个二维数组,名称如下
object[,] s1l2
object[,] s3l4
object[,] s4l2
object[,] s9l4
等等
在另一个类中,我有一个必须将该数组名称作为字符串变量获取的方法,例如:
methodName(string arrayName);
我试图s9l4.ToString();
但显然返回 -System.Object[,]
所以,问题是——我怎样才能得到object[,] s9l4
字符串—— “s9l4”
解决方案
我觉得我不必回答您的明确问题,而是挑战前提并要求您修改对对象是什么与变量是什么的理解。拿这个片段:
object[,] s3l4 = new object[0,0];
object[,] s4l2 = s3l4;
在这种情况下,您有一个对象 - 第一行中的初始化数组 - 但两个变量都指向它。在这种情况下,该数组的“名称”是什么?s3l4
还是s4l2
?答案是“两者都不是”,因为这两个字符串都引用方法中的变量名,即引用内存中对象的本地名称。编译后,这些名称通常会消失 - 您和您的代码使用它们来引用它,但是 CPU 不需要这个名称,它只关心内存地址。
所以我猜,如果你需要这些字符串,你会以某种方式将内存中的特定对象和用于引用它的临时句柄混为一谈,这可能不是你的意图。
推荐阅读
- java - 手动杀死应用程序时如何获取广播接收器?
- html - 带有图形背景的表单输入
- automated-tests - 在执行结束时将报告文件放在自定义文件夹中
- mongodb - Docker compose mongo 不会创建 root 用户
- r - 将儒略日数转换为日期时间格式 yyyy-mm-dd hh:mm:ss in R
- python - 如何将 pk 扔到 forms.py django
- c# - 在 C# 中初始化变量时出现错误
- mongodb - AWS:如何将流数据保存到 EC2 上托管的数据库(例如 MySQL/MongoDB)
- python - 相对导入和模块重载
- json - 从 Flutter 中的本地 json 文件获取数据