考虑我有一个Dictionary<Key,List<item>>
TestDictionary
如果我这样做:
List<item> someCollection;
TestDictionary.TryGetValue(someKey,out someCollection); //assuming that someCollection will not return null;
someCollection.add(someItem);
将对象someItem添加到Dictionary值TestDictionary [someKey]中的集合中吗?
答案 0 :(得分:11)
是的,如果对象是Ref类型,你将有一个对象的引用,当然,如果它是Value类型,你将有一个副本
答案 1 :(得分:2)
Jon Skeet在这方面发布了great article。但是,无论如何,这里的代码片段可以帮助您:
class Item
{}
void Main()
{
var dictionary = new Dictionary<int, Item>();
dictionary[1] = new Item();
Item i1;
Item i2;
dictionary.TryGetValue(1, out i1);
dictionary.TryGetValue(1, out i2);
Debug.Assert(object.ReferenceEquals(i1, i2));
}