foreach循环用于列举出集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成。in右边的项是集合名,in左边的项是变量名,用来存放该集合中的每个元素。
该循环的运行过程如下:每一次循环时,从集合中取出一个新的元素值。放到只读变量中去,如果括号中的整个表达式返回值为true,foreach块中的语句就能够执行。
一旦集合中的元素都已经被访问到,整个表达式的值为false,控制流程就转入到foreach块后面。
的执行语句。
foreach语句经常与数组一起使用,下面实例将通过foreach语句读取数组的值并进行显示。
数组的属性:数组的容量。
利用这个属性,我们可以取得数组对象允许存储的容量值,也就是数组的长度、元素个数,这个比较好理解,数组还有其他的属性,比如数组的维数等,属性的用法比较简单,学会一种,其他的格式基本一致,这里我们就不举例了。
当数组的维数、容量较多时,c#提供了foreach语句,专门用来读取集合/数组中的所有元素,我们把这种功能叫做遍历。语法书写如下:
遍历数组:foreach(type objname in collection/array)
这段语句会逐一检查数组中的所存储的变量值,并且一一将其取出,其中的type是你所要读取的数组对象将要存储在objname变量的数据类型,而objname是定义了一个type类型的变量名,代表每一次从集合和数组(collection/array)中取得的元素,collection/array则是所要存取的数组对象。用这种方法只需写一个foreach就可以遍历出除交错数组以外的所有维数的数组。
例子:用foreach循环一次性遍历a数组。
int[,,a = new int[2, 2, 2] ,定义一个2行2列2纵深的3维数组a
foreach(int i in a)
这两种**执行的结果是一样的都是每行一个元素,共8行,元素分别是1 2 3 4 5 6 7 8
string数组里面是存放string型的值,list是存放string类型的对象。
initializecomponent()用于初始化窗体上控件。
在每一个窗体生成的时候,都会针对于当前的窗体定义initializecomponent()方法,该方法实际上是由系统生成的对于窗体界面的定义方法。
/位于。cs文件之中的initializecomponent()方法。
public form011()
initializecomponent();
在每一个form文件建立后,都会同时产生程序**文件。cs文件,以及与之相匹配的。文件,业务逻辑以及事件方法等被编写在。
cs文件之中,而界面设计规则被封装在。文件里,下面**为。文件的系统自动生成的脚本**。
namespace example_formtest
partial class frmstudent
#region windows 窗体设计器生成的**。
///设计器支持所需的方法 - 不要。
///使用**编辑器修改此方法的内容。
private void initializecomponent()
#endregion
在**之中,可以很容易发现initializecomponent()方法和dispose()方法,前者为界面设计的变现内容,后者为表单释放系统资源时候执行编码。
initializecomponent()方法反映了窗体设计器中窗体和控件的属性。通常不会在世界上个文件中修改**。如果更改initializecomponent()方法中的相关属性参数,在窗体设计器界面上也会显示出来。
我们发现建一个c#窗体项目,在和里分别有一个initializecomponent()函数。
里的是定义(函数名后面有大括号包含定义内容)
里的是调用(函数名后面分号结尾)
partial 表示以下创建的是分布类**。
也就是说一个类的定义**可以写在两个不同的页面。
和。注意:initializecomponent()方法写在前面和后面是有区别的。
initializecomponent()方法是用来初始化窗体组件的,在initializecomponent之前,窗体的各个控件还没有进行初始化,比如说窗体上有一个textboxusername,在initializecomponent之前它还只是一个textbox类型的变量而已,如果在initializecomponent之前调用这个textbox的属性或方法,就会出错。再比如说你拖上取一个textbox,它放在form的位置,textbox的一些属性。包括new 这个textbox都放在那个函数里面处理的。
我们可以看一下在那里找到initializecomponent方法,您会发现窗体对象的初始化都是在那里做的。
#region是c#预处理器指令。
#region是一个分块预处理命令,它主要用于编辑**的分段,在编译时会被自动删除。
#region使你可以在使用vs**编辑器的大纲显示功能时指定可展开或折叠的**块。
例如:#regionmyclassdefinition
publicclassmyclass
staticvoidmain()
#endregion
备注:#region块必须以#endregion指令终止。
#region块不能与#if块重叠。但是,可以将#region块嵌套在#if块内,或将#if块嵌套在#region块内。
使用#region就是将一些有关联的**组织在一起,然后折叠起来。这样你就在一个函数中看不到很长的令人头痛的**段。
当然这段**很简单。在实际项目中,你可能看到上百行甚至更多的**在一个#region中。如果把它折叠起来。看起来就会很整洁。
region 不适合在大方法中使用,当你在一个方法中使用#region 的时候,停下来想想你刚刚写了什么**?大多数时候,你可以将这些**段独立成一个函数。
在c#中,this关键字代表当前实例,我们可以用this.来调用当前实例的成员方法,变量,属性,字段等; 也可以用this来做为参数状当前实例做为参数传入方法。 还可以通过this来声明索引器。
下面介绍c#中this的作用。
一、c# this指针的几种用法。
1、限定被相似的名称隐藏的成员。
c# **复制。
publicclass thisname
C 学习笔记
面向对象编程语言把事物看成是具有属性和行为的对象,通过抽象出属于同一类的事物的属性和行为,形成类。通过类的继承和多态可以很好的实现 复用,提高软件开发效率。将数据 属性 和处理数据的方法 行为 放到一个整体里,这个整体就叫对象,同类型对象抽象成类,类中大部分数据只能用本类中的方法处理,类通过简单的外...
c个人笔记总结
个人笔记总结。王。小。龙。good luck believe yourself just go 概述 一 c 语言语法基础 6 1.从c到c 的过渡。2.类和对象。3.操作符重载。c 个人笔记总结。王。小。龙。good luck believe yourself just go 概述 一 c 语言语...
个人C 读书笔记
第一章。1 编写简单的c 程序int main 定义main函数和定义其他函数一样。定义函数必须指定4个元素 返回类型 函数名 圆括号内的形参表 可能为空 和函数体。注意return语句后面的分号。在c 中多数语句以分号作为结束标记。分号很容易被忽略,而漏写分号将会导致莫名其妙的编译错误信息。当re...