列表问题

时间:2010-08-02 06:08:36

标签: c# asp.net list

我有一个整数列表

 List<int> LI = new List<int>();

我想检查列表中是否存在特定数字。如果存在,则执行数据库更新,否则执行数据库插入

foreach (int IT in LI)
        {

        }

我可以在foreach循环中执行此操作,或者如果不可能如何实现此操作?????

2 个答案:

答案 0 :(得分:5)

最简单的方法是:

if(LI.Contains(someIntValue))
{
  // do database update
}

将搜索列表中的每个元素并将其与someIntValue进行比较,并在找到匹配的元素后返回true,如果没有元素匹配则返回false。

现在,这是低效的,因为搜索列表的时间是线性的。如果您经常搜索列表,则应该将整数存储在更适合搜索的集合中,例如DictionaryHashSet,这两者都有恒定的时间

答案 1 :(得分:2)

public void InsertUpdateNumber(int i){

    if(LI.Any(li => li == i))
        //do update
    else
        //do insert

}