温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#中循环结构的特点

发布时间:2021-06-17 16:42:20 来源:亿速云 阅读:180 作者:chen 栏目:编程语言

这篇文章主要介绍“C#中循环结构的特点”,在日常操作中,相信很多人在C#中循环结构的特点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#中循环结构的特点”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

顺序、选择、循环是一切程序的三大结构。今天我们就来说一说C#循环结构的一个小问题。

c#的循环结构有四种:

  • for

  • while…do…

  • do…while…

  • foreach

在这四种结构中,都有循环结束的判断。大于某个数字,小于某个数字,或者是其他条件表达式的判断。今天我们就说一下关于数字的判断。

我们的数字可能存放在定义好的一个变量中,也可能从是某个集合的长度,也可能是某个方法返回的信息。这里就讨论一下某个方法的返回信息。

假定存在下面的一个方法,返回值是一个List<int>

static List<int> GetIntList()   {   Console.WriteLine("第 {0} 进入GetIntList方法",Counter);   Counter++;   return new List<int>(){   1,2,3,4,5};   }

需要对这个方法的返回结果进行循环处理,刚开始大多数都会这么写,以for循环为例。

for (int i = 0; i < GetIntList().Count; i++)   {   }

后来知道的多了一些,或者是听到别人说,经过自己的验证。发现这个循环判断条件有问题,每次判断都会重新调用GetIntList方法,造成极大地浪费。就会修改成下面的样子。

int len=GetIntList().Count;   for (int i = 0; i < len; i++)   {   }

先定义一个变量,保存集合的长度。

经过验证,while&hellip;do、do&hellip;while也存在类似的问题,也需要注意。

有时候我们需要做的就是对集合里面的每个元素进行处理,我们会选用foreach这个便利的循环结构,因为他不用考虑下标越界的问题。从上面的验证结果看,就会有人说下面的代码有问题。

foreach (int i in GetIntList())   {   }

到底有没有问题呢?需要验证。

using System;   using System.Collections.Generic;   using System.Linq;   using System.Text;   using System.Data.Common;   using System.Configuration;   using MongoDB.Driver;   using AutoTest.ServiceLocator;   using System.Reflection;   using AutoTest.Common;   namespace AutoTest   {   class Program   {   static void Main(string[] args)   {   Console.WriteLine("------------------------------Begin------------------------------");   Console.WriteLine("Foreach循环");   Counter = 1;   foreach (int i in GetIntList())   {   }   Console.WriteLine("For循环");   Counter = 1;   for (int i = 0; i < GetIntList().Count; i++)   {   }   Console.WriteLine("do...while...循环");   Counter =1;   int num=0;   do   {   num++;   }   while (num < GetIntList().Count );   Console.WriteLine("while...do...循环");   Counter = 1;   num=0;   while (num < GetIntList().Count)   {   num++;   };   Console.WriteLine("------------------------------End------------------------------");   Console.ReadKey();   }   static int Counter=1;   static List<int> GetIntList()   {   Console.WriteLine("第 {0} 进入GetIntList方法",Counter);   Counter++;   return new List<int>(){   1,2,3,4,5};   }   }   }

其实经过验证,发现,foreach不同于其他三个循环结构,是不会发生重复的GetIntList方法调用的。

到此,关于“C#中循环结构的特点”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI