C#运行的时候会报错,在位置5处没有任何行 你应该先把要删除的行号放到一个List<int>里,等循环完了,再遍历List去删除行要么把for循环倒过来,从后往前删除否则本来有10行,你for循环10次,你删了1行,就剩9行了,那不索引溢出了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对哦,醒悟了 主要是我没学过LIST,所以不知道能用这个。。谢谢。我现在找一下资料学习一下。。总是现学现用中! List<int> mList = new List<int>(); mList.Clear(); for (int i = 0; i < dtbest.Rows.Count; i++) { for (int j = i+1; j < dtbest.Rows.Count; j++) { if ((double.Parse(dtbest.Rows[i]["A"].ToString()) == double.Parse(dtbest.Rows[j]["A"].ToString())) && (double.Parse(dtbest.Rows[i]["B"].ToString()) == double.Parse((dtbest.Rows[j]["B"].ToString())))) { mList.Add(j); } } } foreach (int j in mList) { dtbest.Rows.RemoveAt(j); }请帮我鉴定一下,这样写是否正确??谢谢!刚学,请你鉴定一下。 List<int> mList = new List<int>(); mList.Clear(); for (int i = 0; i < dtbest.Rows.Count; i++) { for (int j = i+1; j < dtbest.Rows.Count; j++) { if ((double.Parse(dtbest.Rows[i]["A"].ToString()) == double.Parse(dtbest.Rows[j]["A"].ToString())) && (double.Parse(dtbest.Rows[i]["B"].ToString()) == double.Parse((dtbest.Rows[j]["B"].ToString())))) { mList.Add(j); } } } foreach (int j in mList) { dtbest.Rows.RemoveAt(j); }请帮我鉴定一下,这样写是否正确??谢谢!刚学,请你鉴定一下。 mList.Clear();这句话可以不要,本身就是刚new出来的,里面没东西mList.Add(j)之前,先判断if(!mList.Contains(j));然后不要foreach你应该for(int i=mList.Count;i>0;i--)从后往前删,否则比如你想删除2,3行你删除了2,原来的3行变成2行,4行变成3行,你再删3,其实是把原来的4删除了 if(!mList.Contains(j));这句话的作用是不要出现2个"第2行",你本来只想删除1行,结果删除了2遍,就删除2行了 asp.Net数据导出问题 急急急 dataset如何写入到SQL数据库中? 关于委托的一个实例的疑惑 C# 窗体??? ref 参数问题,有点急 关于Collections.Generic的问题,在线等 一个关于TabPage的问题 请教this的应用问题 有关平台调用的问题 打家来讨论一下(参加有分100) C# ACCeSS Update 标准表达式中数据类型不匹配? json格式解析忘解答
对哦,醒悟了 主要是我没学过LIST,所以不知道能用这个。。谢谢。我现在找一下资料学习一下。。总是现学现用中!
mList.Clear();
for (int i = 0; i < dtbest.Rows.Count; i++)
{
for (int j = i+1; j < dtbest.Rows.Count; j++)
{
if ((double.Parse(dtbest.Rows[i]["A"].ToString()) == double.Parse(dtbest.Rows[j]["A"].ToString())) && (double.Parse(dtbest.Rows[i]["B"].ToString()) == double.Parse((dtbest.Rows[j]["B"].ToString()))))
{
mList.Add(j);
}
}
}
foreach (int j in mList)
{
dtbest.Rows.RemoveAt(j);
}请帮我鉴定一下,这样写是否正确??谢谢!刚学,请你鉴定一下。
mList.Clear();
for (int i = 0; i < dtbest.Rows.Count; i++)
{
for (int j = i+1; j < dtbest.Rows.Count; j++)
{
if ((double.Parse(dtbest.Rows[i]["A"].ToString()) == double.Parse(dtbest.Rows[j]["A"].ToString())) && (double.Parse(dtbest.Rows[i]["B"].ToString()) == double.Parse((dtbest.Rows[j]["B"].ToString()))))
{
mList.Add(j);
}
}
}
foreach (int j in mList)
{
dtbest.Rows.RemoveAt(j);
}
请帮我鉴定一下,这样写是否正确??谢谢!刚学,请你鉴定一下。
mList.Add(j)之前,先判断
if(!mList.Contains(j));
然后不要foreach
你应该for(int i=mList.Count;i>0;i--)
从后往前删,否则
比如你想删除2,3行
你删除了2,原来的3行变成2行,4行变成3行,你再删3,其实是把原来的4删除了