我想要比较两个列表。
列出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保持为假。