C#for(;;)是什麼意思?

來源:互聯網
上載者:User

標籤:返回   sys   .text   內容   跳出迴圈   括弧   AC   ati   ram   

一,正常for迴圈我們都接觸過很多,如下,我們都理解

           int[] tt = {1,2,3,4,5,6 };            for (int i = 1; i < 6; i++)            {                Console.WriteLine(tt[i]);            }    

二,但是for(;;)實際上它的含義是什麼呢?

含義: for後的圓括弧中,第一個分號前的內容是執行第一次迴圈前執行的,第二個分號前的內容是每次執行前都要判斷的(如果該處運算式的值為真,那麼執行迴圈體,如果為假,那麼就跳出迴圈體)

三,是不是覺得寫到這裡大家覺得那麼常見的都還要介紹?那我們來點擴充,如下代碼

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace W{    class Program    {        static void Main(string[] args)        {            int t2 = 0;            int t1 = 0;            for (Demo.First(ref t1); Demo.Scend(t1, ref  t2); )            {                Console.WriteLine(t2);            }        }    }    public class Demo    {        public static int j = 5;        public static bool First(ref int t1)        {            t1 = 1;            return false;        }        public static bool Scend(int t1,ref int t2)        {            if (j > 0)            {                j = j - t1;                t2 = j;                return true;            }            else            {                return false;            }        }    }}

 

三,在上述代碼中我們看到for (Demo.First(); Demo.Scend(1,ref te); )是在分號調用兩個方法,是不是跟平常使用的不一樣??那為什麼可以這樣用呢?我們根據for(;;)的含義來解析。

1,第一個分號前的內容是執行第一次迴圈前執行的,而第一個分號不會判斷true和false,所以當定義返回false時也不會跳出迴圈

2,第二個分號前的內容是每次執行前都要判斷的(如果該處運算式的值為真,那麼執行迴圈體,如果為假,那麼就跳出迴圈體)

 

C#for(;;)是什麼意思?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.