王老师编程遇到个问题,他想用for遍历dictionary,因为需要修改key的值,所以不能用foreach,我两找了半天得出个比较合理的解决方案(这里key 为strig):
class Program
{
static void Main(string[] args)
{
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("1", "helo");
dict.Add("2", "helo");
string[] keys = new string[dict.Count];
dict.Keys.CopyTo(keys, 0);
foreach (string key in keys)
{
Console.WriteLine("key"+key.ToString()+":" + key.ToString());
dict.Remove(key); // Response.Write("key" + key.ToString() + ":" + dict[key]);
}
Console.ReadLine();
}
}
或者当key为int:
class Program
{
static void Main(string[] args)
{
Dictionary<int, string> dict = new Dictionary<int, string>();
dict.Add(1, "helo");
dict.Add(2, "helo");
int[] keys = new int[dict.Count];
dict.Keys.CopyTo(keys, 0);
foreach (int key in keys)
{
Console.WriteLine("key"+key.ToString()+":" + key.ToString());
dict.Remove(key); // Response.Write("key" + key.ToString() + ":" + dict[key]);
}
}
}