有没有大佬求教下C#foreach循环的问题谢谢啦!

是这样的我在C#使用了foreach循环,好像foreach循环必须要有数据,没有数据的时候就会出错,如何写能让foreach循环在查不到数据的情况下关闭掉循环避免出错!代码是这样的foreach (Class current in Class.GetDrop(this.Level, sl, maxsl)) 它是在GetDrop里获取值但是有时候值为空时就会报错,应为这个GetDrop的过程它不是百分百的能得到值的有点时候条件不满足就没有值,不知道有没有大佬求教了谢谢!

软糖来回答吧。

拆分成几句话,条件判断一下就好了。

var x = Class.GetDrop(this.Level, sl, maxsl);
if (x != null) {
    foreach (Class current in x){
        
    }    
}

追问

这位大神牛逼,把右边的数值定义很好的思路,相信一定是位编程的大神赞一个!

追答

不算大神,只是经验多些,这些用法自然就会了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-05-03
有没有试过用try来避免这种问题。追问

有的这个第一行就用了try了,他如果没有数据那么运行到forreach这就运行不下去了,然后就
catch (Exception)
{
}
报里面的错误了,我目前是把报错信息删了,但是VS里面调试的时候是有红色异常线程存在的!

C#中foreach请大家帮忙讲一下!谢谢!
可以在 foreach 块的任何点使用 break 关键字跳出循环,或使用 continue 关键字直接进入循环的下一轮迭代。foreach 循环还可以通过 goto、return 或 throw 语句退出。下面是一个实例:class ForEachTest { static void Main(string[] args){ int[] fibarray = new int[] { 0, 1, 2, 3, 5,...

C#使用foreach循环的问题
foreach (string stringItem in dataString){ x=counter\/dataString.GetLength(0);\/\/除以行数就是X坐标 y=counter%dataString.GetLength(1);\/\/对列数取余就是y坐标 counter++;}

有哪位好心人帮我解释一下在C#中出现的for,foreach,do等循环语句,怎么...
2.foreach 已经在Visual Basic 语言中存在了很久的一个功能是,通过使用For Each 语句收集枚举。C#通过foreach 语句,也有一个用来收集枚举的命令:foreach(表达式中的类型标识符) 内含语句 循环变量由类型和标识符声明,且表达式与收集相对应。循环变量代表循环正在为之运行的收集元素。3.while 当你想...

c#foreach的问题
foreach和for循环类似的,使用foreach的好处是,当遍历数组时,因为有些语言的起始位置是从0开始的,而有些语言的起始位置却使从1开始,当语言支持foreach语法时,使用了foreach,它就自动帮你从数组第一位开始遍历,而不用你管第一位的下标是0还是1。而使用for来遍历的话,你还要确定该语言对数组的...

c# forEach问题
int[] a = { 1, 2, 3 };int i = 0;foreach (int number in a){ a[i] = number + 1;i++;}

C#中的foreach怎么用,麻烦举例,谢谢!!!
foreach(string i1 in a){ Console.WriteLine("dfdasf"+i1);} foreach是遍历集合、数组 要注意的是,他并不是你想象的定义一个i然后系统循环i<length!它上面需要你填要转换出来的类型 你是要遍历一个string的数组 那么这里就应该写string 临时变量名 in 数组名 Console.writeLine(临时变量名);\/...

C#的foreach遍历问题???
两个空分别为:IEnumerator,GetEnumerator()在使用Foreach遍历的时候它其实是转换为While,MoveNext()的形式的,所以你这个遍历对象必须是一个可枚举的类型,具有MoveNext()方法。

c#初学,关于一个foreach循环错误,谢谢!
你定义的是二维数组,不能用foreach循环的,一般是用这种 int[,] values = { { 1, 2 }, { 3, 4 }, { 5, 6 } };for (int i = 0; i < values.GetLength(0); i++){ for (int j = 0; j < values.GetLength(1); j++) Console.Write(values[i, j] + " "); ...

有没有大佬求教下C#foreach循环的问题谢谢啦!
软糖来回答吧。拆分成几句话,条件判断一下就好了。var x = Class.GetDrop(this.Level, sl, maxsl);if (x != null) { foreach (Class current in x){ } }

c#foreach如何那下标
c#foreach?用forEach()下标。C#中foreach循环用于列举出集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成in右边的项是集合名,in左边的项是变量名,用forEach()下标。

相似回答