gpt4 book ai didi

c# - 如何通过IDictionary进行枚举

转载 作者:太空狗 更新时间:2023-10-29 21:06:42 26 4
gpt4 key购买 nike

如何通过 IDictionary 进行枚举?请引用下面的代码。

 public IDictionary<string, string> SelectDataSource
{
set
{
// This line does not work because it returns a generic enumerator,
// but mine is of type string,string
IDictionaryEnumerator enumerator = value.GetEnumerator();
}
}

最佳答案

手动枚举非常罕见(例如,与 foreach 相比)- 我建议的第一件事是:检查您是否真的需要它。但是,由于字典枚举为键值对:

IEnumerator<KeyValuePair<string,string>> enumerator = value.GetEnumerator();

应该可以。或者如果它只是一个方法变量(不是一个字段),那么:

var enumerator = value.GetEnumerator();

或更好(因为如果它不是一个字段,它可能需要本地处理):

using(var enumerator = value.GetEnumerator())
{ ... }

或最佳(“KISS”):

foreach(var pair in value)
{ ... }

但是,您也应该始终处置替换时的任何现有值。此外,仅限集合的属性非常罕见。您真的可能想检查这里是否有更简单的 API...例如,将字典作为参数的方法。

关于c# - 如何通过IDictionary进行枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5699456/

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