C#一个遍历集合的问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 05:33:46
foreach(string key in monsters.Keys){
UIContainer monsterContainer = new UIContainer();
PictureBox pic = new PictureBox();
pic.BackColor = Color.Transparent;
pic.SizeMode = PictureBoxSizeMode.AutoSize;
pic.Location = monsters[key].OriginalLocation;
pic.Image=monsters[key]

我想问一下高手

monsters[key]

就是foreach里面声明的string吧,这样写的意思是什么?
我补充一点,高手门

如果用string的话,就遍历这个集合里的字符串的值?
如果用int就是int类的?如果这个集合两种都有的话,用string就是像上面那个样吗

没什么意思,就是为了遍历monsters.Keys这个string这个集合,并逐个提取集合里面的值,声明了一个string的句柄。
因为foreach(string key in monsters.Keys)语句只被调用一次所以,和
string key = “”;
foreach( key in monsters.Keys){}的效果是一样的。虽说和函数定义有点像但是不是一回事。
这样的好处是当foreach语句结束后string key ;会被自动释放掉,内存使用效率更高。

foreach(string key in monsters.Keys)

指,用key去遍历monsters.Keys这个集合,

就像你访问arr[i]类似,这里键是字符串罢了.

key 是就是foreach里面声明的string,它是monsters.Keys中的一个成员

常规认为数组里面只能如:monsters[0], monsters[1]这样的int型。
其实数组中也可以使用monsters["abc"]的。
monsters[ ],这个是根据方括号里面的值找到对应项,使用int表示它的唯一性,若String类型在此数组中也是唯一的话,自然可以用字符串类型查找。

---------------------