博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#for(;;)是什么意思?
阅读量:7155 次
发布时间:2019-06-29

本文共 1419 字,大约阅读时间需要 4 分钟。

一,正常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,第二个分号前的内容是每次执行前都要判断的(如果该处表达式的值为真,那么执行循环体,如果为假,那么就跳出循环体)

 

转载于:https://www.cnblogs.com/May-day/p/8892599.html

你可能感兴趣的文章
window下svn,git混合使用
查看>>
wordpress插件之All in One SEO Pack:整体优化你的wordpress博客
查看>>
编译安装PHP出现configure: error: mysql configure failed. Please check config.log的解决方法...
查看>>
用win7虚拟无线路由上网
查看>>
J2EEweb开发乱码问题
查看>>
React学习(11)—— 高阶应用:Web组件
查看>>
十分钟搞定SUSE Linux Enterprise Server 11 SP3上搭建ceph集群
查看>>
C/S向B/S转变
查看>>
关于preload页面的back的问题
查看>>
Tomcat远程调试
查看>>
20180523早课记录16-Linux&Hadoop
查看>>
Python的对象协议
查看>>
免费图标素材:47套最新的超棒免费图标集
查看>>
mysql 8.0降序索引
查看>>
华为防火墙6000web界面配置
查看>>
【安全牛学习笔记】手动漏洞挖掘-SQL盲注
查看>>
聊聊jdk http的HeaderFilter
查看>>
java学习笔记(珍藏版+基础版)
查看>>
51单片机特别功用存放器和位界说
查看>>
ITIL 信息技术基础构架库
查看>>