C#中幾種循環語法的比較

循環操作在程序開發當中使用非常的廣泛,當然循環也很容易成為整個

程序運行的性能瓶頸,所以理解C#中幾種循環的用法,還是非常重要的。

C#支持一下四種循環方式

1、while循環

2、do...while循環

3、for 循環

4、foreach循環

前三種循環在C++、Java中也是非常常見的,基本用法也差不多,foreach

循環是一種高效的循環,但他有一定的限制。現逐個分析一下每個循環的特點。

1、while循環

while循環通常用于不確定的循環次數時去使用它。

典型用法

bool flag=true;

while(flag)

{

///ToDo

if(檢查條件)

flag=false;

}

特點:有可能一次都不執行,如果判斷條件存在bug,很有可能出現死循環。

2、do...while循環

功能上和while基本類似,不同之處它保證了循環至少執行一次,當然也很有可能出現死循環。

用法示例:

int i=1;

do{

DoWork();

n++;

}while(n<100);

3、for循環

for循環主要用于循環次數固定的循環,出現死循環的幾率很小。

用法示例:

for(int i=1;i<100;i++)

{

console.WriteLine(i);

}

4、foreach循環

是一種十分高效的循環,主要用來遍歷IEnumerable的容器類型,比如ArrayList、List等都可以使用

foreach循環來遍歷。foreach在保證程序健壯性方面的優勢更加明顯,使用foreach可以不必

考慮集合的上下限的問題,所以不容易出錯。

用法示例:

foreach(int item in list)

{

console.WriteLine(item);

}

使用建議:

1、對于集合類的建議采用foreach,更加高效。

2、對于循環次數不確定的情況下可以考慮while或者do...while循環

3、for循環適合那種確定次數的,比foreach效率要低一些。

公眾號:閱讀原文

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/272823.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/272823.shtml
英文地址,請注明出處:http://en.pswp.cn/news/272823.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Eclipse基金會

昨天Eclipse基金會慶祝其成立十周年。2004年2月的新聞稿宣布該非盈利組織的正式成立&#xff0c;由包括開發者、消費者和插件提供商在內的各獨立團體組成的董事會&#xff0c;為Eclipse的長期發展負責。 基金會成立時&#xff0c;有19個項目和50個董事會成員&#xff0c;其開源…

.Net架構必備工具列表

原文N多年前微軟官網曾發了.Net下必備的十種工具&#xff0c;N多年過去了&#xff0c;世異時移&#xff0c;很多東西都已經變化了&#xff0c;那個列表也似乎陳舊了。而且&#xff0c;該文也只是對十種工具獨立的介紹&#xff0c;顯得有些羅列的感覺&#xff0c;是不是每個工具…

java scanner接收數組_java – 使用scanner將文件中的整數讀入數組

我正在為學校做一份復習工作.賦值是編寫一個類,它從標準輸入讀取一個包含幾個整數的文件,這些整數將被放入一個數組中.從這里開始,需要編寫方法來找出平均值,中位數,最大值,最小值和標準差.它讀起來像這樣&#xff1a;4556677889等等…所以,我假設我需要創建一個數組列表(因為長…

Asp.Net頁面傳值的方法簡單總結【原創】

1、QueryString當頁面上form按照get的方式向頁面發送請求數據的時候&#xff0c;web server會將請求數據放入一個QEURY_STRING的環境變量中&#xff0c;然后通過QeueryString方法從這個變量中獲取相應的參數。例如&#xff1a;發送參數頁面Test1.aspx 按鈕單擊代碼&#xff1a;…

關于archlinux下的ralink5370網卡

驅動此網卡要使用 rt2800usb&#xff0c;rt2800lib 這兩個模塊 順便說一下對模塊進行操作的命令&#xff1a; rmmod 模塊名 //為移除模塊 insmod 模塊所在路徑 //為添加模塊 查看網卡是否能被驅動&#xff0c;可以使用命令&#xff1a;ifconfig -a 轉載于:https://www.cnblogs.…

java xml 遞歸_Java遞歸遍歷XML所有元素

import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.DocumentException;import org.dom4j.Element;import java.util.*;/*** Created by IntelliJ IDEA.* User: leizhimin* Date: 2008-4-14 14:02:12* Note: Java遞歸遍歷XML所有元素*/public class …

【基礎】C#異常處理的總結

一、異常處理的理解&#xff1f;異常處理是指程序在運行過程中&#xff0c;發生錯誤會導致程序退出&#xff0c;這種錯誤&#xff0c;就叫做異常。因此處理這種錯誤&#xff0c;就稱為異常處理。二、異常處理如何操作&#xff1f;C# 異常處理時建立在四個關鍵詞之上的&#xff…

Java Web 路徑問題

可能在做文件上傳或者 圖片加載&#xff0c;資源加載 時候用到文件相對服務器地址 System.out.println(request.getRemoteUser()); //客戶端用戶System.out.println(request.getRemoteAddr()); //客戶端IPSystem.out.println(request.getRemoteHost()); //客戶端主機名Syst…

mysql 多字節編碼漏洞_phpmyadmin 4.8.1 遠程文件包含漏洞(CVE-2018-12613)

漏洞詳情范圍 phpMyAdmin 4.8.0和4.8.1原理 首先在index.php 50-63行代碼$target_blacklist array (import.php, export.php);// If we have a valid target, lets load that script insteadif (! empty($_REQUEST[target])&& is_string($_REQUEST[target])&&…

.Net開發的兩個小技巧

一、符號的妙用1、可以作為保留關鍵字的標識符C#規范當中&#xff0c;不允許使用保留關鍵字&#xff08;class、bool等&#xff09;當作普通的標識符來命名&#xff0c;這時候符號作用就體現出來了&#xff0c;可以通過符號前綴把這些保留關鍵字可以當作普通的字符使用。比如&a…

Codeforces Round #FF (Div. 1) A. DZY Loves Sequences

原題鏈接&#xff1a;http://codeforces.com/problemset/problem/446/A 題意&#xff1a;給一個長度為n的序列&#xff0c;最多可以修改一個位置的數&#xff0c;求最長連續上升子序列。 題解&#xff1a;當a[i1] > a[i-1]2的時候&#xff0c;可以通過改變a[i]的值來使前后兩…

25句張小嫻經典愛情語錄,句句穿心!

1、女人在床上流的眼淚&#xff0c;比在任何一個地方多。男人在床上說的謊話&#xff0c;也比在任何一個地方多。2、承諾本來就是男人與女人的一場角力&#xff0c;有時皆大歡喜&#xff0c;大部份的情況卻兩敗俱傷。3、愛情正是一個將一對陌生人變成情侶&#xff0c;又將一對情…

mysql 數據庫事務處理_Mysql事務處理問題 - mysql數據庫欄目 - 自學php

今天和同學討論起數據庫事務處理的問題&#xff0c;感覺討論中明白了一些&#xff0c;有些知識看過了&#xff0c;但是沒有實際使用還是不理解。事務處理就是將一系列操作當做一個原子操作&#xff0c;要么全部執行成功&#xff0c;如果執行失敗則保留執行期的狀態。通過提交和…

[LeetCode] Palindrome Linked List

Given a singly linked list, determine if it is a palindrome. 一開始想用棧&#xff0c;但是試來試去發現寫不出來遂放棄&#xff0c;后來想想再不濟可以轉換成數組然后分別兩頭掃&#xff0c;但是這樣就用了O(n) 的空間&#xff0c;再進一步&#xff0c;可不可以在鏈表里模…

【原創】Ajax的用法總結

一、什么是AjaxAjax英文全稱為“ Asynchr JavsScript and XML”&#xff08;異步的JavaScript和XML&#xff09;&#xff0c;是一種創建交互式網頁的開發技術。二、Ajax技術的核心Ajax是一系列相關技術的融合&#xff0c;其核心包括XMLHttpRequest、JavsScript和DOM技術&#x…

gprs java_WISMO模塊GPRS上網設置的過程

WISMO模塊GPRS上網設置的過程一) AT指令設置部分(1) ATCGCLASS“B”置為“網絡WISMO模塊GPRS上網設置的過程一) AT指令設置部分(1) ATCGCLASS“B”置為“B”模式。(2) ATCGDCONT1&#xff0c;“IP”&#xff0c;“CMNET”設置APN。(3) ATCSQ 檢查信號 若返回10—31&#xff0c…

loadrunner性能測試步驟

性能測試過程分為4個階段&#xff1a;設計、構建、執行、分析/診斷/調節具體的工作流程如下圖 設計  >  構建  >  執行   >  分析/診斷/調節 收集要求    設置測試環境 基準測試    診斷瓶頸 設計測試策略  記錄測試腳本 性能測試     調…

Asp.Net生命周期的詳解

一&#xff0e;Asp.Net頁面生命周期的概念當我們在瀏覽器地址欄中輸入網址&#xff0c;回車查看頁面時&#xff0c;這時會向服務器端IIS&#xff09;發送一個request請求&#xff0c;服務器就會判斷發送過來的請求頁面&#xff0c;當完全識別 TTP頁面處理程序類后&#xff0c;A…

java chain_java 8中 predicate chain的使用

java 8中 predicate chain的使用簡介Predicate是一個FunctionalInterface&#xff0c;代表的方法需要輸入一個參數&#xff0c;返回boolean類型。通常用在stream的filter中&#xff0c;表示是否滿足過濾條件。boolean test(T t);基本使用我們先看下在stream的filter中怎么使用P…

前段技術學習計劃

資料&#xff1a; 著作權歸作者所有。 商業轉載請聯系作者獲得授權&#xff0c;非商業轉載請注明出處。 作者&#xff1a;陳禹魯 鏈接&#xff1a;http://www.zhihu.com/question/19809484/answer/35544452 來源&#xff1a;知乎 第一本&#xff0c;入門 《Head first HTML&…