将哈希表中的所有键检索为字符串

nav*_*een 2 c# asp.net string hashtable

编码语言是C#3.0
将所有哈希表键检索到由分隔符","分隔的字符串中的最佳方法
是什么?for循环或foreach循环是唯一的选项吗?

更新:键已经是字符串

此致,
naveenj

Jon*_*eet 7

你真的是指非通用的Hashtable吗?您可以使用LINQ,假设您可以使用:

string keys = string.Join(",", table.Keys.Cast<object>()
                                         .Select(x => x.ToString())
                                         .ToArray());
Run Code Online (Sandbox Code Playgroud)

可能有更快的方法,但这就是我为了可读性而采取的方式.当你证明它是一个瓶颈时,只有微优化.


use*_*501 5

您还可以使用IDictionaryEnumerator:

IDictionaryEnumerator enum = table.GetEnumerator();
while (enum.MoveNext())
{
   text += enum.Key + ", ";
   text += enum.Value + "\n";
}
Run Code Online (Sandbox Code Playgroud)