将Model与List <string> </string>进行比较

时间:2013-06-28 21:06:18

标签: c# loops foreach

我想要比较两个列表。

列出SelectedPersonCodes;只是一个字符串列表(显然)

列出CurrentUserLocations;是LocationId,LocationName对的列表。

我需要查看在SelectedPersonCOdes列表中是否有任何CurrentUserLocation locationId匹配,该列表由locationIds组成。

我把这个放在一起:

    public JsonResult VerifyDetailAccess(int id)
    {
        List<UserLocation> CurrentUserLocation = repo.GetUserLocations();

        List<string> SelectedPersonLocations = repo.GetTrespassedSiteCodes(id);

        bool IsAuth = false;
        foreach (var current in CurrentUserLocation)
        {
            for(var s = 0; s < SelectedPersonLocations.Count(); s++)
            {
                if(current.LocationCode == SelectedPersonLocations[s])
                {
                    IsAuth = true;
                }

            }
        }

        return Json(IsAuth, JsonRequestBehavior.AllowGet);
    }

总是出错。问题是if语句,我没有得到SelectedPersonLocations中的值。如何公开这些值以便我可以对它们进行迭代?

我也试过双重foreach:

        foreach (var current in CurrentUserLocation)
        {
            foreach (var select in SelectedPersonLocations)
            {
                if(current.LocationCode == select)
                {
                    IsAuth = true;
                }
            }

这会公开select中的值,但即使current.LocationCode和select相同,它仍会跳过设置标志,因此IsAuth保持为假。

0 个答案:

没有答案