请问在C#中,如果使用一个数组类型作为字典的key类型,使用string类型作为value类型,那么该如何通过一个数组来访问该字典的value?
Dictionary<int[], string> _ruleBase = new Dictionary<int[], string>(){...}
int [] myArr = {1,2,3};
_ruleBase[myArr] ? //这样是找不到的
请问在C#中,如果使用一个数组类型作为字典的key类型,使用string类型作为value类型,那么该如何通过一个数组来访问该字典的value?
Dictionary<int[], string> _ruleBase = new Dictionary<int[], string>(){...}
int [] myArr = {1,2,3};
_ruleBase[myArr] ? //这样是找不到的
其实是可以的,但是要注意,比较的是引用,换言之,必须是用原来那个添加的对象,你不能再new一个数组,哪怕内容一样。
using System;
using System.Collections.Generic;
namespace HelloWorldApplication
{
class HelloWorld
{
static void Main(string[] args)
{
Dictionary<int[], string> _ruleBase = new Dictionary<int[], string>(){};
int[] myArr = {1,2,3};
_ruleBase.Add(myArr, "a");
Console.WriteLine(_ruleBase[myArr]);
}
}
}
