gpt4 book ai didi

.net - .NET 中有可用的只读通用字典吗?

转载 作者:行者123 更新时间:2023-12-03 04:13:04 26 4
gpt4 key购买 nike

我正在我的只读属性中返回对字典的引用。如何防止消费者更改我的数据?如果这是一个 IList,我可以简单地返回它 AsReadOnly。我可以用字典做类似的事情吗?

Private _mydictionary As Dictionary(Of String, String)
Public ReadOnly Property MyDictionary() As Dictionary(Of String, String)
Get
Return _mydictionary
End Get
End Property

最佳答案

.NET 4.5

.NET Framework 4.5 BCL 引入 ReadOnlyDictionary<TKey, TValue> (source)。

由于 .NET Framework 4.5 BCL 不包含 AsReadOnly对于字典,您需要编写自己的字典(如果您想要的话)。它将类似于以下内容,其简单性可能凸显了为什么它不是 .NET 4.5 的优先事项。

public static ReadOnlyDictionary<TKey, TValue> AsReadOnly<TKey, TValue>(
this IDictionary<TKey, TValue> dictionary)
{
return new ReadOnlyDictionary<TKey, TValue>(dictionary);
}

.NET 4.0 及更低版本

在 .NET 4.5 之前,没有包装 Dictionary<TKey, TValue> 的 .NET 框架类。就像 ReadOnlyCollection包装 List 。不过,创建一个并不难。

Here is an example - 还有很多其他的,如果你 Google for ReadOnlyDictionary .

关于.net - .NET 中有可用的只读通用字典吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/678379/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com