|
164
|
| TheSoftwareJedi jac · 技术社区 · 16 年前 |
|
|
1
167
事实上,这根本不会有效率。
根据评论,in。Net Core 2+/Net Standard 2.1+/Net 5,
MS added the extension method
对于早期版本,您可以自己编写扩展方法:
或者使用C#7.1:
它使用:
|
|
2
26
如果你正在使用。NET Core 2或更高版本(C#7.x) CollectionExtensions 类被引入,您可以使用 GetValueOrDefault 如果字典中没有键,则获取默认值的方法。
|
|
|
3
19
携带这些扩展方法可以提供帮助。。
|
|
|
4
4
CollectionExtensions.GetValueOrDefault 方法。这与公认答案中提供的实现相同。
|
|
|
5
3
注意事项它只适用于它的特殊用途,而且——在泛型之前设计——如果你需要查看整个集合,它没有一个很好的枚举器。 |
|
|
6
2
现代答案截至。NET Core 2.0,有一个内置的扩展方法,有2个重载:
用途:
|
|
|
7
1
|
|
|
8
1
可以为字典的键查找功能定义一个接口。我可能会把它定义为:
具有非泛型键的版本将允许使用非结构键类型的代码允许任意键变化,而泛型类型参数则无法实现。不应该允许使用可变
不幸的是,真正使用这种接口的唯一方法是包装一个
|
|
|
9
1
如果你正在使用ASP。NET MVC,您可以利用RouteValueDictionary类来完成这项工作。
|
|
|
10
1
我使用封装创建了一个IDictionary,其行为与 STL映射 ,对于那些熟悉c++的人来说。对于那些没有:
TL/DR-编写SafeDictionary是为了在任何情况下都不会抛出异常,除非出现异常情况 代码如下:
|
|
|
11
0
这可能需要检查一下
|
|
|
12
0
自从。您可以使用.NET core 2.0:
|
|
|
13
0
那么这个检查是否存在密钥的换行符呢
无需实现支持默认值的新Dictionary类,只需将查找语句替换为上面的短线即可。 |
|
|
14
0
这个问题有助于确认
out variables 功能,如果您添加 null-conditional operator 从C#6到方程式,你的代码可以更简单,不需要额外的扩展方法。
如果我们需要/想这样做,我们应该编写一个像Jon这样的扩展方法。 |
|
|
15
0
以下是@JonSkeet在C#7.1世界中的一个版本,它还允许传入可选的默认值:
不幸的是,C#(还没有?)没有逗号运算符(或C#6提出的分号运算符),所以你必须为其中一个重载提供一个实际的函数体(喘息!)。 |
|
|
16
-1
|
|
|
17
-2
不,否则当键存在但存储了空值时,你怎么知道区别呢?这可能意义重大。 |
|
|
18
-2
|
|
|
AlwaysneedsHelp · 如何减少此处使用的内存量? 1 年前 |
|
|
snake123 · 滚动到不同页面的锚点,URL中没有# 1 年前 |
|
|
Jan · 密码salt是否应存储在数据库中 1 年前 |
|
|
birb · RFC-6238 TOTP实现与示例不匹配 2 年前 |
|
|
AishaWho · 请解释res=id^(id>>>32) 2 年前 |
|
|
landings · 如何散列整数的环形缓冲区? 2 年前 |