看到Form1 f1 = new Form1();这一行没,你声明了一个全新f1,这个f1已经不是你之前的创建的那个A窗体了,f1所有的变量都会初始化,所以自然不存在dt中的值了,解决方法很多,比如说可以是你在A中声明为
public static Dictionary dt = new Dictionary();
这样在其它任何地方,就可以通过Form1.dt来访问
dictionary完全可以满足你的要求,dictionary是一个泛型的键值集合。
以你的代码为例,你需要取指定的key的value可以这样:
boolean ivalue=dic["b"];
当然为了确保程序的正确性,一般情况下你应该先判断是否存在这个键:
dic.containskey("b");
或者你可以使用dictionary所提供的另一个取值方法:
boolean ivalue;
dic.trygetvalue("b",out ivalue);
这些方法都是可取的。