C# Dictionary问题
答案:2 悬赏:10 手机版
解决时间 2021-02-27 19:19
- 提问者网友:嗝是迷路的屁
- 2021-02-26 21:18
我在A窗体中定义了
public Dictionary dt = new Dictionary();
在A窗体给他赋值了,设置断点也能查看到,为什么B窗体使用的时候没有值,求大神
Form1 f1 = new Form1();
BindingSource bs = new BindingSource();
bs.DataSource = f1.dt.Values;
dataGridView1.DataSource = bs;
最佳答案
- 五星知识达人网友:污到你湿
- 2021-02-26 22:34
看到Form1 f1 = new Form1();这一行没,你声明了一个全新f1,这个f1已经不是你之前的创建的那个A窗体了,f1所有的变量都会初始化,所以自然不存在dt中的值了,解决方法很多,比如说可以是你在A中声明为
public static Dictionary dt = new Dictionary();
这样在其它任何地方,就可以通过Form1.dt来访问
全部回答
- 1楼网友:酒安江南
- 2021-02-27 00:05
dictionary完全可以满足你的要求,dictionary是一个泛型的键值集合。
以你的代码为例,你需要取指定的key的value可以这样:
boolean ivalue=dic["b"];
当然为了确保程序的正确性,一般情况下你应该先判断是否存在这个键:
dic.containskey("b");
或者你可以使用dictionary所提供的另一个取值方法:
boolean ivalue;
dic.trygetvalue("b",out ivalue);
这些方法都是可取的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯