В большинстве случаев я просто использую операторы foreach
, потому что это намного проще для меня кодировать. Позже, когда мой код будет выполнен, я конвертирую foreach
в операторы LINQ, где это имеет смысл.C# Linq Intersect
Я хочу научиться писать хорошие читаемые заявления LINQ. Как вы, ребята, конвертируете этот код foreach
в правильный оператор LINQ?
private List<QARoles> GetUserRoles(User user)
{
//TODO: Fix this with LINQ intersect.
var result = new List<QARoles>();
foreach (var role in user.Roles)
{
foreach (QARoles qarole in System.Enum.GetValues(typeof(QARoles)))
{
if (role.Name.Equals(qarole.ToString()))
{
result.Add(qarole);
}
}
}
return result;
}
Вы первым попытался преобразовать это в какой-то LINQ? –
Я использовал resharper, точно так же, как упоминал Malte R. Но мне не нравится результат. Я не думаю, что это приятно читать. –
Как вы можете видеть, глядя на все эти ответы: лучший ответ не был вызван resharper. Для написания достойных операторов LINQ, которые можно прочитать, требуются большие навыки. –