C#中foreach基础使用方法[1]
昨天做老师的网站作业 要对一些对象做添加修改删除处理 别的到没什么 删除时出现了点问题似的 因为是从一个类的集合中删除掉一个元素 这样就要遍历整个集合 而foreach正是为遍历准备的新玩意 自然而然用上了 于是代码类似如下
string temp = name Text; // 从TextBox中读出数据 foreach (LCourse cou in Data myCourse) // 在List<LCourse>中遍历 { if (cou name == temp) // 判断cou的名字匹配 { Data myCourse Remove(cou); // 匹配的即为要删除的 从列表中去除 break; // 跳出循环 } }很容易就想到这么用foreach 貌似也没错误 但是印象中关于foreach的注意点就是只适用于遍历读取 不能修改 上边的代码却删除成功 这样 矛盾的种子就种在了心里 到底foreach是个什么东西?
过程
看了MSDN文档 可是文档里的示例用到foreach时都是遍历读取每个元素 所以帮助不大 相关测试 异常 编译错误反倒有很大用处
过程细节和总结
自定义整型数组然后遍历修改
foreach(int myint in myArray)
{ myint+= }
错误 myint 是一个 foreach 迭代变量 无法为它赋值 G:\TEST\VS C#\testforeach\Program cs testforeach
自定义类 在类中定义函数对私有成员进行操作 然后遍历类对象并调用函数
public class MyClass // 自定义的测试类 { private int i = ; public void change() { i = ; } public override string ToString() { return i ToString(); } }
MyClass[] myTest = new MyClass[ ]; // 测试代码片段 foreach (MyClass mc in myTest) { mc change(); Console WriteLine(mc ToString()); }
通过了编译 但是抛出异常 NullRefferenceException 未将对象引用设置到对象的实例
lishixinzhi/Article/program/net/201311/14942