以下のコードを省略形のlinqに変換しようとしていますが、それが可能かどうかはわかりません。Linqを使用してこれを行うためのよりエレガントな方法はありますか?複雑なのは、AllowedRolesを分割し、それぞれがIsUserInRoleであるかどうかをチェックするためのネストされたループであるということです。
bool allowed = RoleManager.IsUserUnrestricted(userId);
if (!allowed)
{
foreach (var item in element.AllowedRoles.Split(','))
{
if (roleManager.IsUserInRole(userId, item.Trim()))
{
allowed = true;
break;
}
}
}
if (allowed)
{
AddWidget(element.Name);
}