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

时间:2010-08-04 11:02:47

标签: c# asp.net string hashtable

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

更新:键已经是字符串

的问候,
naveenj

3 个答案:

答案 0 :(得分:7)

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

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

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

答案 1 :(得分:5)

您也可以使用IDictionaryEnumerator:

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

答案 2 :(得分:0)

pravice.Keys.OfType<string>().ToArray();