C#中,哪个函数可以提供以次循环比较功能
C#中,哪个函数可以提供以下循环比较功能。
我有一个DataTable表格,其中有两列都是int型的数据,我想把表格中 不存在其他行的两个数据同时比该行的两个数据都大的那些行 找出来。 我随便写了一个简单的表格,我要求的数据比这个行数多。比如下面这个表格 第2、3、6、7、8就是我需要找出的,在GridView上显示。
------解决思路----------------------
至于显示结果 可以修改y > x ? y : 0 中的第二个y来拼接结果。
------解决思路----------------------
懂了,
双重for循环遍历去找呗
比如从第一行开始,逐个跟表中所有行进行比对,当然需要判断一下不要再跟当前行进行比对,然后你需要一个bool变量来标识是否满足条件,如果有任意一行不满足条件,把bool设置成false然后break,继续外层循环的时候先将bool重新设置成true
内层循环结束后(不管是break了还是循环完毕),判断bool值是true还是false,是true就将该行的数据保存到另一个datatable里去
------解决思路----------------------
还有重复输出的问题,其实跟上面说的是同一个问题
你写在else里,那么如下数据:
50,2
33,33
44,44
22,22
那么比较33,33的时候输出一次,比较44,44的时候又输出一次,比较22,22的时候又输出一次
你应该整个循环完了,看都没有比它大的,再输出,而不是有一条符合就给输出了
------解决思路----------------------
双重for循环很难吗?
------解决思路----------------------
我有一个DataTable表格,其中有两列都是int型的数据,我想把表格中 不存在其他行的两个数据同时比该行的两个数据都大的那些行 找出来。 我随便写了一个简单的表格,我要求的数据比这个行数多。比如下面这个表格 第2、3、6、7、8就是我需要找出的,在GridView上显示。
------解决思路----------------------
至于显示结果 可以修改y > x ? y : 0 中的第二个y来拼接结果。
------解决思路----------------------
懂了,
双重for循环遍历去找呗
比如从第一行开始,逐个跟表中所有行进行比对,当然需要判断一下不要再跟当前行进行比对,然后你需要一个bool变量来标识是否满足条件,如果有任意一行不满足条件,把bool设置成false然后break,继续外层循环的时候先将bool重新设置成true
内层循环结束后(不管是break了还是循环完毕),判断bool值是true还是false,是true就将该行的数据保存到另一个datatable里去
------解决思路----------------------
还有重复输出的问题,其实跟上面说的是同一个问题
你写在else里,那么如下数据:
50,2
33,33
44,44
22,22
那么比较33,33的时候输出一次,比较44,44的时候又输出一次,比较22,22的时候又输出一次
你应该整个循环完了,看都没有比它大的,再输出,而不是有一条符合就给输出了
------解决思路----------------------
双重for循环很难吗?
List<DataRow> result = new List<DataRow>();
foreach(DataRow dr in dt.Rows)
{
bool bothSmall = false;
foreach(DataRow tempDr in dt.Rows)
{
if(Convert.ToInt32(tempDr["第一列"] > Convert.ToInt32(dr["第一列"]) &&Convert.ToInt32(tempDr["第二列"] > Convert.ToInt32(dr["第二列"]) )
{
bothSmall = true;
break;
}
}
if (!bothSmall)
result.Add(dr);
}
------解决思路----------------------
int[] array1 = { 5, 6, 9, 59, 18, 76, 54, 32 };
int[] array2 = { 9, 99, 87, 7, 13, 43, 61, 68 };
int[] range = Enumerable.Range(0, array1.Length).ToArray();
int[] result = range
.Where(i => !range.Any(j => array1[i] < array1[j] && array2[i] < array2[j]))
.ToArray();