字典扩展
字典扩展的类名为 DictionaryExtension
,是对 IDictionary<TKey, TValue>
的扩展。
1、尝试添加
TryAdd 方法首先会判断指定的 Key 是否存在,不存在则添加键值对。
[TestMethod]
public void TestTryAdd()
{
var dict = new Dictionary<string, string> { { "1", "abc" }, { "2", "def" } };
Assert.IsFalse(dict.TryAdd("1", "abc"));
Assert.IsTrue(dict.TryAdd("3", "ghi"));
}
2、尝试获取
TryGetValue 方法判断指定的 Key 是否存在,如存在则返回对应的值,否则使用 func 函数构造的值进行添加,并返回该值。
[TestMethod]
public void TestTryGetValue()
{
var dict = new Dictionary<string, string> { { "1", "abc" }, { "2", "def" } };
Assert.AreEqual("abc", dict.TryGetValue("1", () => "abc_1"));
Assert.AreEqual("ghi_1", dict.TryGetValue("3", () => "ghi_1"));
}
3、添加或替换
AddOrReplace 方法判断指定的 Key 是否存在,存在则使用指定的值进行替换,否则添加键值对。
[TestMethod]
public void TestTryGetValue()
{
var dict = new Dictionary<string, string> { { "1", "abc" }, { "2", "def" } };
dict.AddOrReplace("1", "abc_1");
dict.AddOrReplace("3", "ghi_1");
Assert.AreEqual("abc_1", dict["1"]);
Assert.AreEqual("ghi_1", dict["3"]);
}