编码语言是C#3.0
将所有哈希表键检索到由分隔符“,”分隔的字符串中的最佳方法是什么
for循环或foreach循环是唯一的选择吗?
更新:键已经是字符串
的问候,
naveenj
答案 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();