相关疑难解决方法(0)

.NET中是否有只读通用字典?

我在我的只读属性中返回对字典的引用.如何防止消费者更改我的数据?如果这是一个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
Run Code Online (Sandbox Code Playgroud)

.net dictionary readonly

185
推荐指数
6
解决办法
7万
查看次数

你如何在.NET中克隆字典?

我知道我们应该使用字典而不是哈希表.我找不到克隆字典的方法.即使将它转换为ICollection,我也是为了获得SyncRoot,我知道这也是不赞成的.

我现在忙着改变它.我是否正确地假设无法以通用方式实现任何类型的克隆,这就是字典不支持克隆的原因?

.net data-structures

38
推荐指数
1
解决办法
4万
查看次数

如何将字典的内容复制到C#中的新字典?

如何将a复制Dictionary<string, string>到另一个new Dictionary<string, string>以使它们不是同一个对象?

.net c# generics dictionary

24
推荐指数
3
解决办法
4万
查看次数

使方法按值返回对象?

我有一个字典,这样: Dictionary<string, SomeClass> template

基本上,我想要做的是获取包含在其中的对象的副本template.但是,我似乎无法创建一个按值检索对象的方法.我知道refout,但这些与我想要的完全相反.结构将是完美的,但不幸的是,SomeClass必须从另一个类和/或接口继承.

有什么办法可以做我想要的吗?这看起来应该非常简单.

c# methods return-by-value

2
推荐指数
1
解决办法
1237
查看次数

如何在c#中对Dictionary中的字典进行深层复制?

我有四个字典,两个是(字典里面的字典),声明如下所示

    Dictionary<string, Dictionary<string, string>> dict_set = new Dictionary<string, Dictionary<string, string>>();
    Dictionary<string, Dictionary<string, string>> dict_Reset = new Dictionary<string, Dictionary<string, string>>();
    Dictionary<string, string> set_value = new Dictionary<string, string>();
    Dictionary<string, string> Reset_value = new Dictionary<string, string>();
Run Code Online (Sandbox Code Playgroud)

我想先在字典set_vlaue和Reset_value中添加元素.一旦添加了值,我就会将这些词典添加到其他两个词典中,如下所示.

dict_set.Add(condiName, set_value);
dict_Reset.Add(condiName, Reset_value);
 set_value.Clear();
 Reset_value.Clear();
Run Code Online (Sandbox Code Playgroud)

这些值正在添加,但是在添加set_value和reset_value词典之后,我想清除这两个词典set_value和reset_value,但是当清除set_value和reset_value时,dict_set和dict_reset中的数据也被清除了.

任何人都可以帮助我,在这种情况下如何创建词典的深层副本...

c# winforms c#-4.0

2
推荐指数
1
解决办法
1250
查看次数