0

我有 2 个要比较的列表。

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

列出当前用户位置;是 LocationId、LocationName 对的列表。

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

我把这个放在一起:

    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 保持为 false。

4

0 回答 0