列表问题

cha*_*ara 0 c# asp.net list

我有一个整数列表

 List<int> LI = new List<int>();
Run Code Online (Sandbox Code Playgroud)

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

foreach (int IT in LI)
        {

        }
Run Code Online (Sandbox Code Playgroud)

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

Ala*_*lan 5

最简单的方法是:

if(LI.Contains(someIntValue))
{
  // do database update
}
Run Code Online (Sandbox Code Playgroud)

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

现在,这是低效的,因为搜索列表的时间是线性的.如果你经常搜索你的列表,你应该将你的整数存储在一个更适合搜索的集合中,Dictionary或者HashSet两者都有恒定的时间