c#怎么删除List的指定项

c#怎么删除List的指定项,第1张

1、选择用for循环:

for(int i=0i<list.counti++)

{

if(list[i])

{

list.RemoveAt(i)

}

}

如果这样循环,肯定不对,

{A B C D E F G H} 假设当前遍历到D(i=3),移除,接着遍历i=4(F), 此时跳过了E(i=3)

2、使用倒序遍历,这个问题就解决了

for(int i=list.Count-1i>=0i--)

{

if(list[i])

{

list.RemoveAt(i)

}

}

在C#的List<T>类型中

有一个函数叫做Remove(您的值)就可以移除指定的一行数据

尤其是您的String类型

但是您要注意:

如果有两个String内容相同

例如这个List有两个字符A

那么list.Remove("A")

就会移除两行。

另外您的想法是移除包含有指定字符的.

那么您可以这样写

list.Remove(list.First(obj=>{return obj.index("XYZ")!=-1}))

这样一句话移除.

list.clear()可以一次性清空所有元素。list.retainAll(Collection c)可以移除所有不在c里的元素,list.removeAll(Collection c)可以移除所有在c里的元素。其它的情况,只好一个个删了。

如果是数据库的话,就必须读出所有想删除的记录,比如你说的“有一个全选按钮,点击了以后都选中了,然后点击删除按钮”,那么服务器后台收到删除按钮发送的那些kh.Kehuid,就将所有这些id都用“,”隔开拼接起来,比如“1,3,4,6”这样一个字符串,然后用类似

DELETE * FROM kehu WHERE Kehuid in (......)

....那里就是这个字符串,就可以批量删除数据库内数据了。但这个其实不是Java的范畴而是SQL的范畴了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9719850.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存