【发布时间】:2018-08-28 17:01:43
【问题描述】:
我想知道是否可以通过其键删除IDictionary 项目并同时获取已删除的实际值?
示例
类似:
Dictionary<string,string> myDic = new Dictionary<string,string>();
myDic["key1"] = "value1";
string removed;
if (nameValues.Remove("key1", out removed)) //No overload for this...
{
Console.WriteLine($"We have just remove {removed}");
}
输出
//We have just remove value1
【问题讨论】:
-
不,没有。当密钥不存在时会发生什么?
-
@RonBeyer Remove 在密钥不存在时返回 false。
-
@JonathonChase 我知道,但是
out removed包含什么?null?default(T)? -
@RonBeyer 我已经更新了我的问题,我目前的设计可以使用
null。 -
@RonBeyer 我希望
default(T)与 TryXYZ 模式一样,但你说得对,它需要定义。
标签: c# idictionary