C#語(yǔ)句先后順序?qū)Τ绦虻慕Y(jié)果有影響嗎
下面通過(guò)一段代碼給大家解析C#語(yǔ)句的順序不同所執(zhí)行的結(jié)果不一樣。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { /// <summary> /// 自定義類,封裝加數(shù)和被加數(shù)屬性 /// </summary> class MyClass { private int x = ; //定義int型變量,作為加數(shù) private int y = ; //定義int型變量,作為被加數(shù) /// <summary> /// 加數(shù) /// </summary> public int X { get { return x; } set { x = value; } } /// <summary> /// 被加數(shù) /// </summary> public int Y { get { return y; } set { y = value; } } /// <summary> /// 求和 /// </summary> /// <returns>加法運(yùn)算和</returns> public int Add() { return X + Y; } } class Program { static void Main(string[] args) { MyClass myclass = new MyClass(); //實(shí)例化MyClass的對(duì)象 myclass.X = ; //為MyClass類中的屬性賦值 myclass.Y = ; //為MyClass類中的屬性賦值 int kg = myclass.Add(); Console.WriteLine(kg); //調(diào)用MyClass類中的Add方法求和 Console.ReadLine(); } } }
第60行的語(yǔ)句若是被放到第56行,則結(jié)果輸出是0不是8,所以,在設(shè)計(jì)程序時(shí),要注意語(yǔ)句次序,有著清晰的思維邏輯 。
下面還有點(diǎn)時(shí)間,接著給大家介紹C#中循環(huán)語(yǔ)句總結(jié)
通過(guò)使用循環(huán)語(yǔ)句可以創(chuàng)建循環(huán)。 循環(huán)語(yǔ)句導(dǎo)致嵌入語(yǔ)句根據(jù)循環(huán)終止條件多次執(zhí)行。 除非遇到跳轉(zhuǎn)語(yǔ)句,否則這些語(yǔ)句將按順序執(zhí)行。
C#循環(huán)語(yǔ)句中使用下列關(guān)鍵字:
· do...while
· for
· foreach...in
· while
do...while
do...while語(yǔ)句執(zhí)行一個(gè)語(yǔ)句或語(yǔ)句重復(fù),直到指定的表達(dá)式的計(jì)算結(jié)果為false, 循環(huán)的身體必須括在大括號(hào)內(nèi){},while條件后面使用分號(hào)結(jié)尾
示例
下面的示例 實(shí)現(xiàn)do-while循環(huán)語(yǔ)句的執(zhí)行
public class TestDoWhile { static void Main () { int x = 0; do { Console.WriteLine(x); x++; } while (x < 10); } } /*
Output:
0
1
2
3
4
5
6
7
8
9
*/
do-while循環(huán)在計(jì)算條件表達(dá)式之前將執(zhí)行一次,如果 while表達(dá)式計(jì)算結(jié)果為 true,則,執(zhí)行將繼續(xù)在第一個(gè)語(yǔ)句中循環(huán)。 如果表達(dá)式計(jì)算結(jié)果為 false,則會(huì)繼續(xù)從 do-while 循環(huán)后的第一個(gè)語(yǔ)句執(zhí)行。
do-while 循環(huán)還可以通過(guò)break、goto、return 或 throw 語(yǔ)句退出。
for
for 循環(huán)重復(fù)執(zhí)行一個(gè)語(yǔ)句或語(yǔ)句塊,直到指定的表達(dá)式計(jì)算為 false 值。 for 循環(huán)對(duì)于循環(huán)數(shù)組和順序處理很有用。
示例
在下面的示例中,int i 的值將寫入控制臺(tái),并且 i 在每次通過(guò)循環(huán)時(shí)都加 1。
class ForTest { static void Main() { for (int i = 1; i <= 10; i++) { Console.WriteLine(i); } } } /*
Output:
1
2
3
4
5
6
7
8
9
10
*/
for 語(yǔ)句重復(fù)執(zhí)行括起來(lái)的語(yǔ)句,如下所述:
· 首先,計(jì)算變量 i 的初始值。
· 然后,只要 i 的值小于或等于 10,條件計(jì)算結(jié)果就為 true。此時(shí),將執(zhí)行 Console.WriteLine 語(yǔ)句并重新計(jì)算 i。
· 當(dāng) i 大于10 時(shí),條件變成 false 并且控制傳遞到循環(huán)外部。
由于條件表達(dá)式的測(cè)試發(fā)生在循環(huán)執(zhí)行之前,因此 for 語(yǔ)句可能執(zhí)行零次或多次??梢酝ㄟ^(guò)使用break、goto 、 throw或return語(yǔ)句退出該循環(huán)。
所有表達(dá)式的 for語(yǔ)句是可選的例如對(duì)于下面的語(yǔ)句用于寫一個(gè)無(wú)限循環(huán)。
for (; ; ) { // ... }
foreach...in
foreach 語(yǔ)句對(duì)實(shí)現(xiàn) System.Collections.IEnumerable 或 System.Collections.Generic.IEnumerable<T>接口的數(shù)組或?qū)ο蠹现械拿總€(gè)元素重復(fù)一組嵌入式語(yǔ)句。 foreach 語(yǔ)句用于循環(huán)訪問(wèn)集合,以獲取您需要的信息,但不能用于在源集合中添加或移除項(xiàng),否則可能產(chǎn)生不可預(yù)知的副作用。 如果需要在源集合中添加或移除項(xiàng),請(qǐng)使用 for循環(huán)。
嵌入語(yǔ)句為數(shù)組或集合中的每個(gè)元素繼續(xù)執(zhí)行。 當(dāng)為集合中的所有元素完成循環(huán)后,控制傳遞給 foreach 塊之后的下一個(gè)語(yǔ)句。
可以在 foreach 塊的任何點(diǎn)使用 break 關(guān)鍵字跳出循環(huán),或使用 continue 關(guān)鍵字進(jìn)入循環(huán)的下一輪循環(huán)。
foreach 循環(huán)還可以通過(guò) break、goto、return 或 throw 語(yǔ)句退出。
示例
在此示例中,使用 foreach 顯示整數(shù)數(shù)組的內(nèi)容。
class ForEachTest { static void Main(string[] args) { int[] barray = new int[] { 0, 1, 2, 3, 4, 5}; foreach (int i in barray) { System.Console.WriteLine(i); } } } /*
Output:
0
1
2
3
4
5
*/
while
while 語(yǔ)句執(zhí)行一個(gè)語(yǔ)句或語(yǔ)句塊,直到指定的表達(dá)式計(jì)算為 false。
class WhileTest { static void Main() { int n = 1; while (n < 5) { Console.WriteLine(n); n++; } } } /*
Output:
1
2
3
4
*/
相關(guān)文章
C#實(shí)現(xiàn)調(diào)用迅雷下載的方法
這篇文章主要介紹了C#實(shí)現(xiàn)調(diào)用迅雷下載的方法,非常實(shí)用的一個(gè)技巧,對(duì)于進(jìn)行C#程序設(shè)計(jì)有很好的借鑒價(jià)值,需要的朋友可以參考下2014-08-08Winform項(xiàng)目中TextBox控件DataBindings屬性
這篇文章介紹了Winform項(xiàng)目中TextBox控件DataBindings屬性的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02C#中使用強(qiáng)制類型實(shí)現(xiàn)字符串和ASCII碼之間的轉(zhuǎn)換
這篇文章主要介紹了C#中使用強(qiáng)制類型實(shí)現(xiàn)字符串和ASCII碼之間的轉(zhuǎn)換,本文還給出了另一種方法,需要的朋友可以參考下2014-08-08C#實(shí)現(xiàn)給PDF文檔設(shè)置過(guò)期時(shí)間
我們可以給一些重要文檔或者臨時(shí)文件設(shè)置過(guò)期時(shí)間和過(guò)期信息提示來(lái)提醒讀者或管理者文檔的時(shí)效性,并及時(shí)對(duì)文檔進(jìn)行調(diào)整、更新等。下面本文將介紹如何通過(guò)C#來(lái)給PDF文檔設(shè)置過(guò)期時(shí)間的方法。需要的可以參考一下2022-01-01C#中new和override的區(qū)別個(gè)人總結(jié)
這篇文章主要介紹了C#中new和override的區(qū)別個(gè)人總結(jié),本文以問(wèn)答的方式講解了new和override的區(qū)別,需要的朋友可以參考下2015-06-06C#中winform控制textbox輸入只能為數(shù)字的方法
這篇文章主要介紹了C#中winform控制textbox輸入只能為數(shù)字的方法,包括使用keyPress事件限制鍵盤輸入以及TextChanged事件限制粘貼等情況,來(lái)實(shí)現(xiàn)控制輸入為數(shù)字的功能,需要的朋友可以參考下2015-01-01