Dictionary的ContainsValue Dictionary<int,String[]> test=new Dictionary<int,String[]>(); test.Add(1, new String[2]{“你”,"好”});
a = test.ContainsValue(new String[2]{“你”,"好”})); Dictionary里面的确包含这个数组,但是a的值为什么一直为false,应该是true才对啊 ------解决思路---------------------- 你需要补充一下值类型与引用类型的知识 http://blog.csdn.net/jiankunking/article/details/44281215 http://blog.csdn.net/jiankunking/article/details/42128907 ------解决思路---------------------- new String[2]{“你”,"好”} 两次是不同的实例了 虽然内容一样 但属于不同的实例 写成这样就可以了
String[] temp = new String[2]{"你", "好"}; Dictionary<int,String[]> test=new Dictionary<int,String[]>(); test.Add(1, temp); bool a = test.ContainsValue(temp);
------解决思路---------------------- new String[2]{“你”,"好”} 跟 new String[2]{“你”,"好”} 根本不想等。 ------解决思路---------------------- 你这种情况,需要在创建Dictionary的时候传入一个比较器 ------解决思路----------------------