C# foreach 有用方法具体解释
网上查资料,说foreach 不能改动迭代变量,仅仅能訪问迭代变量。自己理解也不是非常深,通过几个代码进行验证,发现foreach的使用方法还有点特别
验证方法:
1. 迭代变量 为int
int[] argint = { 12,12,12,12,12};
foreach (int item in argint)
{
item = 100;
}
结果:编译不通过,提示item为迭代变量,无法为它赋值;
2. 迭代变量为struct
public struct MyStruct
{
public string Name { get; set; }
}
MyStruct[] array = new MyStruct[] { new MyStruct { Name = "1" }, new MyStruct { Name = "2" } };
foreach (MyStruct item in array)
{
item.Name= “test”;
}
结果:编译不通过,提示item为迭代变量,无法改动其成员;
3. 迭代变量为类
IList<Student> list = db.Students.ToList();
foreach (Student item in list)
{
item.address = "xxxxxx";
item.age = 100;
item.id = 1000;
item.name = "xxxxx";
item.sex = 1;
}
结果:编译通过,执行后发现,item的属性都发生了改变。
总结:对于迭代变量为类的情况,foreach在迭代过程中,能够改动迭代变量的属性。
C# foreach 有用方法具体解释的更多相关文章
- 关于Parallel.For/Foreach并行方法中的localInit, body, localFinally使用
对集合成员的操作往往可以通过并行来提高效率,.NET Parallel类提供了简单的方法来帮助我们实现这种并行,比如Paralle.For/ForEach/Invoke方法. 其中,For/ForEa ...
- Js apply 方法 具体解释
Js apply方法具体解释 我在一開始看到javascript的函数apply和call时,很的模糊,看也看不懂,近期在网上看到一些文章对apply方法和call的一些演示样例,总算是看的有点眉目了 ...
- Format类及其子类功能和使用方法具体解释
Format类及其子类功能和使用方法具体解释 1. Format类结构: · java.lang.Object · java.text.Format · ...
- hbase-0.94安装方法具体解释
先决条件: 1)java环境,须要安装java1.6以上版本号 2)hadoop环境.因为HBase架构是基于其它文件存储系统的,因此在分布式模式下安装Hadoop是必须的,可是,假设 ...
- ZooKeeper安装方法具体解释
ZooKeeper安装方式分为两种,一种为单机模式.一个为集群模式,集群模式须要事先正确配置hadoop集群,安装方法參考hadoop-1.2.1安装方法具体解释 单机模式安装: 1.上传并解压zoo ...
- 模式识别 - libsvm的函数调用方法 具体解释
libsvm的函数调用方法 具体解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26261173 须要载入(load)SVM的 ...
- const 使用方法具体解释
const使用方法具体解释 面向对象是C++的重要特性. 可是c++在c的基础上新添加的几点优化也是非常耀眼的 就const直接能够代替c中的#define 下面几点非常重要,学不好后果也也非常严重 ...
- hive-0.11.0安装方法具体解释
先决条件: 1)java环境,须要安装java1.6以上版本号 2)hadoop环境,Hadoop-1.2.1的安装方法參考hadoop-1.2.1安装方法具体解释 本文採用的hado ...
- 第44篇-为native方法设置解释执行入口
对于Java中的native方法来说,实际上调用的是C/C++实现的本地函数,由于可能会在Java解释执行过程中调用native方法,或在本地函数的实现过程中调用Java方法,所以当两者相互调用时,必 ...
随机推荐
- iOS 在下面 AOP 程序
iOS 在下面 AOP 程序 概念 在软件业.AOP对于Aspect Oriented Programming缩写,手段:面向方面的编程.它是一种函数式编程张燕生风扇类型.通过这样一个技术方案功能的预 ...
- [WF4.0 现实] WF4.0 Receive && Send
写这篇博客的目的正是由于这个receive和send使用一直很困惑,有应用程序的多个实例,但整体感觉很模糊认识.每一次遇到,再要弄清楚.如今将这send和receive结合我们之前做的实例(未使用WC ...
- IOS-QQ登陆之苹果程序流程
1.新建项目,通过main函数循环执行代码,直到应用被关闭. 2.点击项目,建立storyboard文件,并在info文件夹中指定第一个storyboard文件 3.建立Controller文件. 组 ...
- 默认情况下安装的应用程序C盘后提示权限不足,当你开始介意。。。
最近,不少用户抱怨的经销商.正在使用win 7我们的计算机系统上安装软件后,提示权限不够开放系统,无法启动软件. 在xp该系统是没有问题的.原因是,我们会选择在默认安装路径系统C-disk.和win ...
- 避免内存重叠memmove()性能
#include <iostream> #include <string.h> using namespace std; void* memmove(void *dst, co ...
- apk反编译工具-apktool
apk很easy被反编译,关于这篇文章apktool反编译工具. (一)优势反编译 1.能学习别人优秀代码 看看优秀apk他们的string.color命名规则,看看布局排版等都能学习到东西. 2.进 ...
- SQL Server 2008 R2 性能计数器详细列表(四)
原文:SQL Server 2008 R2 性能计数器详细列表(四) SQL Server Latches 对象: 监视称为闩锁的内部 SQL Server 资源锁.通过监视闩锁来确定用户活动和资源使 ...
- BZOJ 1009 HNOI2008 GT考试 KMP算法+矩阵乘法
标题效果:给定的长度m数字字符串s.求不包括子s长度n数字串的数目 n<=10^9 看这个O(n)它与 我们不认为这 令f[i][j]长度i号码的最后的字符串j位和s前者j数字匹配方案 例如,当 ...
- Mac下Jekyll安装
之前一直用Wordpress,虽然功能强大,各种插件各种bug,如果想弄个主题,折腾得要命.最近改用jekyll+gitHub免费空间.记录一下. 我用的是Mac,所以只讲述Mac下如何安装,Wind ...
- ftp的port和pasv型号比较
一个.ftp的port和pasv工作方式 FTP使用2个TCPport,首先是建立一个命令port(控制port),然后再产生一个数据port. 国内非常多教科书都讲ftp使用21命令p ...