1、普通查找:双层循环遍历,第二层循环中找到即break,查找时间复杂度O(M*N/2)

List<PtCameraInfo> cameraList = new List<PtCameraInfo>();
List<string> cameraIdList = dataIds.Split(',').ToList();
List<PtCameraInfo> oldList = this.cameraList.Cameras.ToList();

for (int i = 0; i < cameraIdList.Count; i++)
{
    string cameraId = cameraIdList[i];
    for (int j = 0; j < _cameraList.Count; j++)
    {
        PtCameraInfo camera = _cameraList[j];
        if (camera.ID == cameraId && !oldList.Exists(a => a.ID == camera.ID))
        {
            cameraList.Add(camera);
            break;
        }
    }
}
View Code

相关文章: