相关疑难解决方法(0)

字典和Hashtable在线程安全方面的区别

在线程安全方面,HashTable和Dictionary之间有什么区别吗?我没有看到任何......根据msdn,两者的定义如下: -

哈希表

Hashtable是线程安全的,可供多个读取器线程和单个写入线程使用.当只有一个线程执行写(更新)操作时,它对多线程使用是线程安全的,如果编写器被序列化为Hashtable,则允许无锁读取.

字典

只要未修改集合,Dictionary就可以同时支持多个读取器.即便如此,通过集合枚举本质上不是一个线程安全的过程.在枚举与写访问争用的极少数情况下,必须在整个枚举期间锁定该集合.要允许多个线程访问集合以进行读写,您必须实现自己的同步.

.net dictionary hashtable

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

如何使用字符串选择C#变量

我有一个字符串用户设置,并希望在我的C#Windows应用程序启动期间选择具有相同名称的特定变量.

例如

我有一个名为UserSelectedInt的用户设置(字符串),当前设置为'MyTwo'.(请注意,我的变量实际上比整数更复杂,我只是用它们作为例子.)

public static int MyOne = 12345;
public static int MyTwo = 54321;
public static int MyThree = 33333;

public int myInt = SelectMyVariableUsing(MyApp.Settings.Default.UserSelectedInt)
Run Code Online (Sandbox Code Playgroud)

用户可能在上次关闭应用时选择了"MyTwo",因此这是我想在启动时选择的变量.我希望我有意义.

请有人告诉我如何实现这一目标?

谢谢

.net c#

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

快速函数以基于键返回字符串,反之亦然

我需要一个快速查找函数,它将返回一个基于整数键的字符串,并执行反对查找(传入字符串,返回int).

我应该为此创建2个哈希表吗?

.net c# performance

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

UnityEngine.WWW.WWW(string,byte [],System.Collections.Hashtable)'已过时

更新到Unity 4.5后,我收到了一个过时的警告:

警告CS0618:UnityEngine.WWW.WWW(string, byte[], System.Collections.Hashtable)' is obsolete:不推荐使用此过载.使用带有Dictionary参数的那个.(CS0618)(Assembly-CSharp)

代码如下:

public class Request {
    public string url;
    public NetworkDelegate del;
    public WWWForm form;
    public byte[] bytes;
    public Hashtable header;

    // Constructors
    public Request(string url, NetworkDelegate del) {
        this.url = url;
        this.del = del;
    }

    public Request(string url, NetworkDelegate del, WWWForm form) : this(url, del) {
        this.form = form;
    }

    public Request(string url, NetworkDelegate del, byte[] bytes) : this(url, del) {
        this.bytes = bytes;
    }

    public Request(string url, NetworkDelegate del, byte[] …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

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

在.NET中,可以存在Dictionary <string,TValue>的关键冲突

我刚刚了解到:

这让我想到,.NET中的字典(至少在使用字符串作为键时)容易受到键冲突的影响.

这种钥匙碰撞会发生什么?是否存在任何已知的唯一字符串值,实际发生碰撞?字典是否会在这些关键值上被打破?

另外:

  • 这取决于代码是在32位还是64位系统上运行?
  • 使用短字符串到特定长度是否安全?更安全吗?

注意:我不是指特定的.NET CLR,但如果重要,那么让我们来谈谈桌面的4.5.2 32位版本.


关于重复的说明:

.net c# dictionary key hash-collision

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

H#表和C#中的字典.什么是差异

可能重复:
为什么Dictionary优先于C#中的哈希表?

嗨,我注意到我们在C#中都有哈希表实现和字典实现.但是,哈希表不是实现字典的一种方式.那么,为什么同时提供?他们不做同样的事情.

c# data-structures

0
推荐指数
1
解决办法
492
查看次数