为了账号安全,请及时绑定邮箱和手机立即绑定

如何访问存储在另一个数组中的数组中的值?

如何访问存储在另一个数组中的数组中的值?

C#
繁花如伊 2021-03-29 17:31:16
我正在寻找一种方法来访问由另一个数组持有的数组中的数组项。我不太清楚:/我有2个脚本:Game_Manager.cs和Board.cs。在Board.cs我有以下变量。(数组大小在启动时会自动调整):public Transform[] Clubs_Bottom = new Transform[0];public Transform[] Clubs_Top = new Transform[0];public Transform[] Spades_Left = new Transform[0];public Transform[] Spades_Right = new Transform[0];public Transform[] Diamonds_Left = new Transform[0];public Transform[] Diamonds_Right = new Transform[0];public Transform[] Hearts_Bottom = new Transform[0];public Transform[] Hearts_Top = new Transform[0];在Game_Manager.cs我有以下方法:public void setCardBoardSlot(int Hand_CardNumber){    Array[] ArrayList = new Array[8];       // The card arrays    // Fill our array list    ArrayList[0] = Board.Script.Diamonds_Left;    ArrayList[1] = Board.Script.Diamonds_Right;    ArrayList[2] = Board.Script.Clubs_Top;    ArrayList[3] = Board.Script.Clubs_Bottom;    ArrayList[4] = Board.Script.Spades_Left;    ArrayList[5] = Board.Script.Spades_Right;    ArrayList[6] = Board.Script.Hearts_Bottom;    ArrayList[7] = Board.Script.Hearts_Top;    // Acces Array item 1's array, and the first item in that array    ArrayList[0[0]].GetComponent<SpriteRenderer().sprite=SpriteManager.Script.setActive();}在我找出如何访问每个数组项之前,此方法仅是说明性的。使用此代码时,我在倒数第二行收到以下错误:Cannot apply indexing with [] to an expression of type 'int'
查看完整描述

1 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

Array类本质上包含一个通用数组-因此Array数组可以包含不同类型的数组(在运行时可能会更改)。访问该数组的元素将返回Array类的单个实例(而不是数组本身),因此使用ArrayList [0] [0]将导致编译器错误“无法将[]的索引应用于'Array'类型的表达式”

使用Array类的数组,您需要将数组元素显式转换为您的数组类型(这是Transform的数组),然后以这种方式访问第一个元素:

((Transform[])ArrayList[0])[0].GetComponent<SpriteRenderer().sprite=SpriteManager.Script.setActive();

由于所有包含的数组都是同一类型-一种更简单的方法是使用Transform数组的数组-您对ArrayList的声明将变为:

Transform[][] ArrayList = new Transform[8][];

每个数组元素的分配将保持不变,然后您可以简单地使用:

ArrayList[0][0].GetComponent<SpriteRenderer().sprite=SpriteManager.Script.setActive();

请注意,ArrayList是C#中定义的类类型-尽管我认为编译器可以根据上下文确定要引用的变量,但最好避免将.Net类名用作变量名。


查看完整回答
反对 回复 2021-04-17
  • 1 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信