相关疑难解决方法(0)

为什么.Net字典中的条目还有其他顺序?

我刚刚看到这种行为,我对此感到有些惊讶......

如果我向Dictionary添加3或4个元素,然后执行"For Each"以获取所有键,它们将按照我添加它们的相同顺序显示.

这让我感到惊讶的原因是一个字典在内部应该是一个HashTable,所以我期望事情以任何顺序出现(按键的哈希排序,对吧?)

我在这里错过了什么?这是我可以依靠的行为吗?

编辑:好的,我已经想到了为什么发生这种情况的许多原因(比如条目的单独列表,这是巧合等).我的问题是,有谁知道这是如何工作的?

.net dictionary hashtable data-structures

23
推荐指数
3
解决办法
3932
查看次数

处理需要字符串的枚举的好方法是什么

我很确定一个枚举不是我想要的.我想要的是一个命名项目列表

CustomerLookup = "005",
CustomerUpdate = "1010"
Run Code Online (Sandbox Code Playgroud)

"005"和"1010"不是我的值,它们是我需要发送给我无法控制的第三方的值.其中有近500个.我只是希望我的代码看起来不错.

代替

SendRequest("005");
Run Code Online (Sandbox Code Playgroud)

我宁愿看

SendRequest(RequestType.CustomerLookup);
Run Code Online (Sandbox Code Playgroud)

任何人都有任何自我记录的想法,而不会在代码中疯狂吗?

c# enums

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

如何使用标签而不是整数创建数组

假设我有一个字符串数组,如:

myArray["hello", "my", "name", "is", "marco"]
Run Code Online (Sandbox Code Playgroud)

要访问此变量,我必须将整数作为索引.所以,如果我想要提取第三个元素,我就是这么做的:

myArray[2]
Run Code Online (Sandbox Code Playgroud)

现在,我想使用label而不是integer.所以有些例如:

myArray["canada"]="hello";
myArray["america"]="my";
myArray["brazil"]="name";
myArray["gosaldo"]="is";
myArray["italy"]="marco";
Run Code Online (Sandbox Code Playgroud)

我怎样才能在C#上做到这一点?可能吗?谢谢

c# arrays label

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

标签 统计

c# ×2

.net ×1

arrays ×1

data-structures ×1

dictionary ×1

enums ×1

hashtable ×1

label ×1