asp.net如何实现嵌套的 for 循环到 Linq 吗?

标签: Asp.net Linq C#
发布时间: 2016/8/13 11:36:12
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

如何转换以下入 linq 嵌套的 for 循环︰

public string MX()
{
    string[] names = { "ali", "reza", "john" };
    string[] roles = { "admin", "user" };
    List<string> result = new List<string>();
    foreach (string username in names)
    {
        foreach (string rolename in roles)
        {
            if (IsUserInRole(username, rolename))
            {
                result.Add(username + " : " + rolename);
            }
        }
    }
    return string.Join("<br>" ,result);
}
public bool IsUserInRole(string username, string rolename)
{
    //code
    return true;
}

解决方法 1:

关闭我的头上 (没有测试)︰

var result = string.Join("<br>",names.SelectMany(n =>
       roles.Where(r => IsUserInRole(n, r)).Select(r => n + " : " + r))):
赞助商