我有一个整数列表
List<int> LI = new List<int>();
我想检查列表中是否存在特定数字。如果存在,则执行数据库更新,否则执行数据库插入
foreach (int IT in LI)
{
}
我可以在foreach循环中执行此操作,或者如果不可能如何实现此操作?????
答案 0 :(得分:5)
最简单的方法是:
if(LI.Contains(someIntValue))
{
// do database update
}
将搜索列表中的每个元素并将其与someIntValue
进行比较,并在找到匹配的元素后返回true,如果没有元素匹配则返回false。
现在,这是低效的,因为搜索列表的时间是线性的。如果您经常搜索列表,则应该将整数存储在更适合搜索的集合中,例如Dictionary
或HashSet
,这两者都有恒定的时间
答案 1 :(得分:2)
public void InsertUpdateNumber(int i){
if(LI.Any(li => li == i))
//do update
else
//do insert
}