Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 存储值比访问多维数组更好吗?_C#_Multidimensional Array - Fatal编程技术网

C# 存储值比访问多维数组更好吗?

C# 存储值比访问多维数组更好吗?,c#,multidimensional-array,C#,Multidimensional Array,我想知道直接访问多维数组中的变量是否与访问普通变量不同 例如:如果我有一个3D int数组,它告诉我游戏服务器大厅中的玩家数量,我可以像这样访问它:playersConnected[map,gamemode,lobb] 我想知道得到这个变量值和得到一个普通int值是否有什么不同 在一个方法中,我可能会多次重复该语句以获取值,因此如果从多维数组访问值的代价很高,那么在什么情况下最好将值存储在普通int中?或者这真的不是我应该担心的情况例如int connected=playerConnected[

我想知道直接访问多维数组中的变量是否与访问普通变量不同

例如:如果我有一个3D int数组,它告诉我游戏服务器大厅中的玩家数量,我可以像这样访问它:
playersConnected[map,gamemode,lobb]

我想知道得到这个变量值和得到一个普通int值是否有什么不同


在一个方法中,我可能会多次重复该语句以获取值,因此如果从多维数组访问值的代价很高,那么在什么情况下最好将值存储在普通int中?或者这真的不是我应该担心的情况例如
int connected=playerConnected[地图、游戏模式、大厅]

它们并不昂贵,因为它不会迭代查找值,实际上您只是给出了指针的地址

比如说


a[20]
只是指从
a

地址开始的第21个4字节(sizeof(int)),因此当您实际测试实际程序中的差异时,您发现了什么?性能可能会有所不同,因为访问多维数组可能需要比仅访问字段更多的“指针”算法。但是你应该自己测试它,看看它是否重要,我将假设差异是最小的(如果明显的话…)。但是说真的,先自己测试一下。至于“更好”是什么意思?演出可读性/维护?记忆?我的错我想我应该在问之前测试一下。我以前从未做过这种事情(分析代码)。在我的程序中测试它。。不知道那是什么意思。我要对它进行速度测试吗?感谢所有的回复。我想在我的情况下,创建一个新脚本并夸张地访问变量可能会更容易。