109,339
社区成员




Dictionary<string, PluginsInfo> dic = new Dictionary<string, PluginsInfo>();
PluginsInfo pluginsInfo = new PluginsInfo();
pluginsInfo.Name = "2222";
dic.Add("2", pluginsInfo);
MessageBox.Show("对象本身:"+ReferenceEquals(pluginsInfo, dic["2"]).ToString());
MessageBox.Show("对象的参数:" + ReferenceEquals(pluginsInfo.Name, dic["2"].Name).ToString());
得到的结果是:true true
Dictionary<string, DataCell> dic = new Dictionary<string, DataCell>();
DataCell data=new DataCell();
data.DataValue = "www";
dic.Add("2", data);
MessageBox.Show("对象本身:" + ReferenceEquals(data, dic["2"]).ToString());
MessageBox.Show("对象的参数:" + ReferenceEquals(data.DataValue, dic["2"].DataValue).ToString());
得到的结果是:false true
对于这两种结果想不清楚为什么,两者只是value的类型不同。
找到原因了,因为两个value一个是值类型一个是引用类型