填充对象列表(使用Linq?)

Lia*_*amB 4 c# linq asp.net

我想知道是否有更好的方法来做到以下几点,

    IList<RoleViewModel> ReturnViewModel = new List<RoleViewModel>();

    IList<Role> AllRoles = PermServ.GetAllRoles();

    foreach (var CurRole in AllRoles)
    {
        ReturnViewModel.Add(new RoleViewModel(CurRole));
    }
Run Code Online (Sandbox Code Playgroud)

它非常简单的代码只需获取数据对象并将其转换为ViewModel.我想知道是否有办法更好地做到这一点? - 也许和Linq一起?

Mic*_*uso 7

从头顶(不是开发机器).

IList<RoleViewModel> returnViewModel = PermServ.GetAllRoles()
                                        .Select(x => new RoleViewModel(x))
                                        .ToList();
Run Code Online (Sandbox Code Playgroud)


Hat*_*ath 6

var returnViewModel  = (from n in PermServ.GetAllRoles()
                       select new RoleViewModel(n)).ToList();
Run Code Online (Sandbox Code Playgroud)