- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我定义了一个像这样的自定义类型的字典,
public readonly Dictionary<PricingSection, View> _viewMappings = new Dictionary<PricingSection, View>();
现在当我尝试做的时候
_viewMappings.GetValueOrDefault(section);
部分的类型为 PricingSection
我收到一个错误提示
Severity Code Description Project File Line Suppression State Error CS1061 'Dictionary' does not contain a definition for 'GetValueOrDefault' and no accessible extension method 'GetValueOrDefault' accepting a first argument of type 'Dictionary' could be found (are you missing a using directive or an assembly reference?)
我错过了什么吗??
最佳答案
Am i missing something ??
您错过了 Dictionary
不包含此名称的任何方法 GetValueOrDefault
的事实
也许你正在寻找
Dictionary<TKey,TValue>.TryGetValue(TKey, TValue) Method
Gets the value associated with the specified key.
或
Gets the value for a given key if a matching key exists in thedictionary.
但是你可以实现你自己的
public static class Extensions
{
public static TValue GetValueOrDefault<TKey, TValue>(this Dictionary<TKey, TValue> dict,TKey key)
=> dict.TryGetValue(key, out var value) ? value : default(TValue);
}
如果您使用以下任何一种,IReadOnlyDictionary
有扩展方法重载
NET 5.0 RC1
.NET 核心 3.1 3.0 2.2 2.1 2.0
.NET 标准 2.1
CollectionExtensions.GetValueOrDefault
Tries to get the value associated with the specified key inthe dictionary
关于c# - 无法在 C# 中将 GetValueOrDefault() 用于字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53940405/
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 5 天前关闭。 Improve
我负责 LINQ 提供程序,该提供程序对 C# 代码执行一些运行时评估。例如: int? thing = null; accessor.Product.Where(p => p.anInt == th
我正在尝试从列表中获取一些值。但我想确保如果 key 不存在,它将返回默认值 0而不是抛出异常。 var businessDays = days.Where(x => x.Year == year).
我定义了一个像这样的自定义类型的字典, public readonly Dictionary _viewMappings = new Dictionary(); 现在当我尝试做的时候 _viewMa
努力使用非常简单的代码,这些代码在其他类中可以使用类似代码的地方不起作用。如果我删除 GetValueOrDefault(),它将无法编译。我也在使用 System.Linq。我收到此运行时错误:LI
对于数字,它总是相同的漂亮: if(a < 123) { ... } // disregards if `b` is `int?` or `int` 但是对于 bool?: bool? b = ...
我是一名优秀的程序员,十分优秀!