首页 > 解决方案 > What is difference: AttributeCollection.Contains(TKey) vs AttributeCollection.ContainsKey(TKey)?

问题描述

What is difference for AttributeCollection.Contains(TKey) and AttributeCollection.ContainsKey(TKey)? I doesn't see any difference in the official manual.

var stuff = new Entity("abc_stuff");
stuff.Attributes.Add(new KeyValuePair<string, object>(
    "kvp", 12));
stuff.Attributes.Add("txt", "foo");
stuff.Attributes.Add("null", null);

var containsKvp = stuff.Attributes.Contains("kvp"); // true
var containsKvpKey = stuff.Attributes.ContainsKey("kvp"); // true

var containsTxt = stuff.Attributes.Contains("txt"); // true
var containsTxtKey = stuff.Attributes.ContainsKey("txt"); // true

var containsNull = stuff.Attributes.Contains("null"); // true
var containsNullKey = stuff.Attributes.ContainsKey("null"); // true

var containsFoo = stuff.Attributes.Contains("foo"); // false
var containsFooKey = stuff.Attributes.ContainsKey("foo"); // false

标签: c#dynamics-crmmicrosoft-dynamics

解决方案


The method Contains calls the ContainsKey method internally. You can see the generated IL code.


推荐阅读