问题描述
请问使用foreach遍历长度为55的集合,如何实现若第5位及以后值为0则不输出,集合元素长度相同,打算用for循环但还没想好如何实现?求大神帮助,不胜感激。。。。
解决方案
解决方案二:
你用linq,或者用一个变量,在each内部+1操作,判断这个变量值是否等于5,或者就用for循环
解决方案三:
不是的,我利用C#采集到长度为55的集合,但是从第五位以后才是有用的,想实现若从第5为到最后一位若值全为0,则不输出。
解决方案四:
那你直接用for循环就好了,何必用foreach呢。for循环里,i=4开始循环
解决方案五:
你能将你的集合举例出来么?
解决方案六:
int[]Arr={1,2,3,4,5,6,7,8,9,0,0,0,7};inti=0;List<int>tempList=newList<int>();foreach(intxinArr){if(i++>=4){tempList.Add(x);}}if(tempList.Sum()>0){//从tempList取得你要的字符串}else{//不符合条件}
只搜索一遍
解决方案七:
集合是什么样的,数据?
解决方案八:
求出从第5位开始之后的0的总Count如果等于50则不输出。
解决方案九:
解决方案十:
数据和程序如图
解决方案十一:
数据为msg_hander,是实时采集到的数据
解决方案十二:
把它全加部相加,加一个判定
解决方案十三:
引用5楼From_TaiWan的回复:
int[]Arr={1,2,3,4,5,6,7,8,9,0,0,0,7};inti=0;List<int>tempList=newList<int>();foreach(intxinArr){if(i++>=4){tempList.Add(x);}}if(tempList.Sum()>0){//从tempList取得你要的字符串}else{//不符合条件}只搜索一遍
更简单的int[]newArr=Arr.Skip(4).Take(Arr.Length-4).ToArray();判断newArr.Sum();是否大于0假如没有负数的话但强烈建议自己写算法你把接收到的字符串,想法转为数组,
时间: 2024-07-30 18:18:05