自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#foreach語(yǔ)句概念及使用淺析

開發(fā) 后端
C# foreach語(yǔ)句是從Visual Basic的for each演變過來的,Visual Basic的程序員應(yīng)該不會(huì)感到陌生,但是C# foreach語(yǔ)句對(duì)于C#的初學(xué)者,我們還是要看看具體的使用規(guī)則和注意事項(xiàng)。

C# foreach語(yǔ)句是在C#中新引入的,在C和C++中沒有這個(gè)語(yǔ)句,而Visual Basic的程序員應(yīng)該對(duì)它不會(huì)陌生(for each)。它表示收集一個(gè)集合中的各個(gè)元素,并針對(duì)各個(gè)元素執(zhí)行內(nèi)嵌語(yǔ)句。C# foreach語(yǔ)句的格式為:

  1. foreach(type identifier in expression)embedded-statement 

其中類型(type)和標(biāo)識(shí)符(identifier)用來聲明循環(huán)變量,表達(dá)式(expression)對(duì)應(yīng)集合。每執(zhí)行一次內(nèi)嵌語(yǔ)句,循環(huán)變量就依次取集合中的一個(gè)元素代入其中。在這里,循環(huán)變量是一個(gè)只讀型局部變量,如果試圖改變它的值或?qū)⑺鳛橐粋€(gè)ref或out類型的參數(shù)傳遞,都將引發(fā)編譯時(shí)的錯(cuò)誤。

C# foreach語(yǔ)句中的expresssion必須是集合類型,如果該集合的元素類型與循環(huán)變量類型不一致,則必須有一個(gè)顯示定義的從集合中的元素類型到循環(huán)變量元素類型的顯式轉(zhuǎn)換。

集合的概念相信大家都不陌生,它表示一組相同或相似的數(shù)據(jù)項(xiàng)總的描述。那么在C#中,究竟什么樣的類型算是集合類型呢?我們從語(yǔ)法上給出集合類型的定義:

◆該類型必須支持一個(gè)形為Getenumerator()的公有的非靜態(tài)方法,該方法的返回類型為結(jié)構(gòu)、類或接口。

◆形為GetEumerator()的方法返回的結(jié)構(gòu)、類或接口應(yīng)當(dāng)包含一個(gè)公有的非靜態(tài)的方法MoveNext(),該方法的返回類型為布爾型。

◆形為GetEumerator()的方法返回的結(jié)構(gòu)、類或接口應(yīng)當(dāng)包含一個(gè)公有的非靜態(tài)的屬性Current,該屬性可以讀出。

如果一個(gè)類型同時(shí)滿足以上三個(gè)條件,該類型稱為集合類型。Current屬性的類型叫作該集合類型的元素類型。

我們姑且不論集合類型的具體形式,只從foreach語(yǔ)句的使用角度舉一個(gè)例子。

假設(shè)Prime是一個(gè)滿足條件的集合類型,它的元素類型為0到1000以內(nèi)的質(zhì)數(shù)。MyInt是我們自定義的一個(gè)類型,其范圍為200到300之間的整數(shù)。下面這段程序用于在屏幕上打印出從200到300以內(nèi)的所有質(zhì)數(shù)。

  1. using System;  
  2. using System.Collections;  
  3. class Test  
  4. {  
  5.   public static void Main()  
  6.   {  
  7.     Console.WriteLine("See the prime number:");  
  8.     foreach(MyInt x in Prime)  
  9.        Console.WriteLine("{0}",x);  
  10.   }  

順便說一句,數(shù)組類型是支持foreach語(yǔ)句的,對(duì)于一維數(shù)組,執(zhí)行順序是從下標(biāo)為0的元素開始,一直到數(shù)組的***一個(gè)元素;對(duì)于多維數(shù)組,元素下標(biāo)的遞增是從最右邊那一維開始的,依次類推。

同樣,break和continue可以出現(xiàn)在foreach語(yǔ)句中,功能不變。

C# foreach語(yǔ)句的基本概念以及格式就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)使用C# foreach語(yǔ)句有所幫助。

【編輯推薦】

  1. C#入門之C#特點(diǎn)淺析
  2. C#和.NET Framework淺談
  3. .NET Framework詳解之內(nèi)存機(jī)制
  4. 詳解基于C#的.NET Framework
  5. C#foreach語(yǔ)句使用體會(huì)
責(zé)任編輯:仲衡 來源: chinaitlab
相關(guān)推薦

2009-08-27 10:33:28

C# foreach

2009-08-27 09:49:10

C# foreach語(yǔ)

2009-08-27 11:27:58

foreach語(yǔ)句C# foreach語(yǔ)

2009-08-27 11:12:04

C# foreach

2009-08-24 15:28:19

C# 泛型方法

2009-09-09 16:46:59

C# XmlSeria

2009-08-18 09:51:18

C#枚舉類型

2009-08-20 18:47:19

C#異步通信

2009-09-04 16:37:37

C# DES算法

2009-08-24 17:39:21

C# 泛型集合

2009-08-25 18:16:02

.NET Framew.NET Framew

2009-09-01 16:10:28

C#單元測(cè)試

2010-08-30 14:27:06

CSS樣式表

2009-07-03 18:26:11

Servlet過濾器

2009-07-31 09:32:04

ASP.NET緩存概念ASP.NET緩存應(yīng)用

2009-09-11 11:16:53

C# Attribut

2011-08-10 13:24:46

SQL Server

2009-07-31 18:39:31

C#中foreach引

2010-02-03 16:29:19

C++ sizeof

2009-08-20 14:45:13

C# Switch語(yǔ)句
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)