最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

輕松學(xué)習(xí)C#的foreach迭代語句

 更新時間:2022年05月06日 14:37:03   投稿:lijiao  
輕松學(xué)習(xí)C#的foreach迭代語句,  C#語言提供了一個for語句循環(huán)的捷徑,而且還促進(jìn)了集合類的更為一致,就是本文提到的foreach語句,感興趣的小伙伴們可以參考一下

C#語言提供的foreach語句是一個for語句循環(huán)的捷徑,而且還促進(jìn)了集合類的更為一致,先來看看它的定義格式:

foreach語句的定義格式為:
        foreach(類型   變量  in   集合)
        {
               子語句;
        }

每執(zhí)行一次內(nèi)嵌語句,循環(huán)變量就依次取集合中的一個元素代入其中,在這里,循環(huán)變量是一個只讀型局部變量,如試圖改變其值將會發(fā)生編譯錯誤。

foreach語句用于列舉出集合中所有的元素,foreach語句中的表達(dá)式由關(guān)鍵字in隔開的兩個項(xiàng)組成。in右邊的項(xiàng)是集合名,in左邊的項(xiàng)是變量名,用來存放該集合中的每個元素。

foreach語句的優(yōu)點(diǎn)一:語句簡潔,效率高。

用一個遍歷數(shù)組元素的例子來說明:

先用foreach語句來輸出數(shù)組中的元素:

int[,] ints =new int[2,3]{{1,2,3},{4,5,6}}; 
      foreach (int temp in ints) 
      { 
        Console.WriteLine(temp);  
      } 
      Console.ReadLine();

再用for語句輸出數(shù)組中元素:

int[,] ints =new int[2,3]{{1,2,3},{4,5,6}}; 
 for (int i = 0; i < ints.GetLength(0); i++) 
 { 
   for (int j = 0; j < ints.GetLength(1); j++) 
   { 
     Console.WriteLine(ints[i,j]); 
   } 
 } 
 Console.ReadLine();

這兩種代碼執(zhí)行的結(jié)果是一樣的都是每行一個元素,共6行,元素分別是1 2 3 4 5 6。

在一維數(shù)組中還無法體現(xiàn)出foreach語句的簡潔性,高效率性,但是在二維數(shù)組,甚至多維數(shù)組中體現(xiàn)的更為明顯和方便,所以在C#語言中要用循環(huán)語句提倡使用foreach語句。

foreach語句的優(yōu)點(diǎn)二:避免不必要的因素

在C#語言中使用foreach語句不用考慮數(shù)組起始索引是幾,很多人可能從其他語言轉(zhuǎn)到C#的,那么原先語言的起始索引可能不是1,例如VB或者Delphi語言,那么在C#中使用數(shù)組的時候就難免疑問到底使用0開始還是用1開始呢,那么使foreach就可以避免這類問題。

foreach語句的優(yōu)點(diǎn)三:foreach語句自動完成類型轉(zhuǎn)換

這種體現(xiàn)可能通過如上的例子看不出任何效果,但是對于ArrayList之類的數(shù)據(jù)集來說,這種操作就顯得比較突出。
先用foreach語句來實(shí)現(xiàn)類型轉(zhuǎn)換操作:在使用ArrayList類時先要引入using System.Collections;

int[] a=new int[3]{1,2,3}; 
      ArrayList arrint = new ArrayList(); 
      arrint.AddRange(a); 
      foreach (int temp in arrint) 
      { 
        Console.WriteLine(temp); 
      } 
      Console.ReadLine();

再來使用for語句來實(shí)現(xiàn):需要進(jìn)行顯式的強(qiáng)制轉(zhuǎn)換

int[] a=new int[3]{1,2,3}; 
      ArrayList arrint = new ArrayList(); 
      arrint.AddRange(a); 
      for (int i = 0; i < arrint.Count;i++ ) 
      { 
        int n = (int)arrint[i]; 
        Console.WriteLine(n); 
      } 
      Console.ReadLine();

兩個程序輸出的結(jié)果為:每一行一個元素,分別為1,2,3。
foreach語句對于string類更是簡潔:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
 
namespace @foreach 
{ 
  class Program 
  { 
    static void Main(string[] args) 
    { 
      string str = "This is an example of a foreach"; 
      foreach (char i in str) 
      { 
        if (char.IsWhiteSpace(i)) 
        { 
          Console.WriteLine(i);//當(dāng)i為空格時輸出并換行 
        } 
        else 
        { 
          Console.Write(i);//當(dāng)i不為空格時只是輸出 
        } 
      } 
      Console.ReadLine(); 
    } 
  } 
}

輸出的結(jié)果為:每一行一個單詞,分別為This, is ,an ,example ,of ,a ,foreach。
對于foreach語句的理解,目前也就知道這多了,隨著更深層次的學(xué)習(xí),或許會有更好的理解吧。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • C#純代碼實(shí)現(xiàn)打字游戲

    C#純代碼實(shí)現(xiàn)打字游戲

    這篇文章主要介紹了這篇文章主要為大家詳細(xì)介紹了C#純代碼實(shí)現(xiàn)打字游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • C# Winform使用擴(kuò)展方法實(shí)現(xiàn)自定義富文本框(RichTextBox)字體顏色

    C# Winform使用擴(kuò)展方法實(shí)現(xiàn)自定義富文本框(RichTextBox)字體顏色

    這篇文章主要介紹了C# Winform使用擴(kuò)展方法實(shí)現(xiàn)自定義富文本框(RichTextBox)字體顏色,通過.NET的靜態(tài)擴(kuò)展方法來改變RichTextBox字體顏色,需要的朋友可以參考下
    2015-06-06
  • C# 獲取系統(tǒng)進(jìn)程的用戶名

    C# 獲取系統(tǒng)進(jìn)程的用戶名

    這也是應(yīng)一位網(wǎng)友的要求寫的,寫的比較倉促,湊合吧
    2009-06-06
  • 使用C#實(shí)現(xiàn)MD5加密的方法詳解

    使用C#實(shí)現(xiàn)MD5加密的方法詳解

    在軟件開發(fā)中,加密是保護(hù)數(shù)據(jù)安全的重要手段之一,MD5(Message Digest Algorithm 5)是一種常用的哈希算法,用于生成數(shù)據(jù)的摘要或哈希值,本文介紹了如何使用C#語言實(shí)現(xiàn)MD5加密的方法,涵蓋了基本的使用方式和擴(kuò)展方法封裝,需要的朋友可以參考下
    2024-08-08
  • gridview 顯示圖片的實(shí)例代碼

    gridview 顯示圖片的實(shí)例代碼

    gridview 圖片的二進(jìn)制數(shù)據(jù)庫存儲和顯示
    2013-04-04
  • C# MVC 使用LayUI實(shí)現(xiàn)下拉框二級聯(lián)動的功能

    C# MVC 使用LayUI實(shí)現(xiàn)下拉框二級聯(lián)動的功能

    這篇文章主要介紹了C# MVC 如何使用LayUI實(shí)現(xiàn)下拉框二級聯(lián)動,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • C#之Socket操作類實(shí)例解析

    C#之Socket操作類實(shí)例解析

    這篇文章主要介紹了C#的Socket操作類用法,需要的朋友可以參考下
    2014-08-08
  • C# DataTable的詳細(xì)用法分享

    C# DataTable的詳細(xì)用法分享

    在項(xiàng)目中經(jīng)常用到DataTable,如果DataTable使用得當(dāng),不僅能使程序簡潔實(shí)用,而且能夠提高性能,達(dá)到事半功倍的效果,現(xiàn)對DataTable的使用技巧進(jìn)行一下總結(jié)
    2013-11-11
  • C#中當(dāng)前時間轉(zhuǎn)為時間戳的3個方法

    C#中當(dāng)前時間轉(zhuǎn)為時間戳的3個方法

    在計(jì)算機(jī)應(yīng)用世界里,無論是為了記錄事件的發(fā)生時間、保障數(shù)據(jù)一致性還是提升安全性,時間戳都是不可或缺的重要工具,下面我們就來看看C#中轉(zhuǎn)換當(dāng)前時間為時間戳有哪些方法吧
    2024-12-12
  • Unity實(shí)現(xiàn)畫線條功能

    Unity實(shí)現(xiàn)畫線條功能

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)畫線條功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03

最新評論

浙江省| 沾化县| 五大连池市| 东丽区| 安阳县| 舟曲县| 太湖县| 民权县| 西吉县| 文化| 石台县| 旺苍县| 屯门区| 沁源县| 隆德县| 商南县| 蒙山县| 凤山县| 安龙县| 云梦县| 青浦区| 绥滨县| 论坛| 高雄县| 大厂| 始兴县| 云梦县| 阿城市| 灵丘县| 北碚区| 瑞丽市| 石台县| 开阳县| 高密市| 鄂尔多斯市| 沾化县| 孟村| 峡江县| 山东| 高唐县| 道真|