Я включил рабочий образец, текущий выход и результат, который мне нужен. Я хочу проверить, есть ли уже синий цвет в объекте, и если есть, то я установлю для показа значение flase. Весь код перед groupedAnswers — это просто настройка данных. Текущий вывод:
using System;
using System.Linq;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
List Answers = new List();
AnswerModel vm1 = new AnswerModel();
vm1.Type = "A";
vm1.Description = "Blue";
vm1.Sort = 1;
Answers.Add(vm1);
AnswerModel vm2 = new AnswerModel();
vm2.Type = "B";
vm2.Description = "Blue";
vm2.Sort = 1;
Answers.Add(vm2);
AnswerModel vm3 = new AnswerModel();
vm3.Type = "C";
vm3.Description = "Red";
vm3.Sort = 2;
Answers.Add(vm3);
var groupedAnswers = Answers
.GroupBy(u => new{u.Type})
.Select(g => new ViewModelAnswer{
Type = g.Key.Type,
show = g.Any(s=>s.Description == "Blue")
}
).ToList();
foreach (var name in groupedAnswers)
{
Console.WriteLine(name.show);
Console.WriteLine(name.Description);
}
}
public class AnswerModel
{
public string Type { get; set; }
public string Description { get; set; }
public int Sort { get; set; }
}
public class ViewModelAnswer
{
public string Type { get; set; }
public string Description { get; set; }
public int Sort { get; set; }
public bool show { get; set; }
}
}
Я включил рабочий образец, текущий выход и результат, который мне нужен. Я хочу проверить, есть ли уже синий цвет в объекте, и если есть, то я установлю для показа значение flase. Весь код перед groupedAnswers — это просто настройка данных. [b]Текущий вывод:[/b] [code]True
True
False [/code] [b]Что мне нужно:[/b] [code]True
False
False [/code] [b]Код:[/b] [code]using System; using System.Linq; using System.Collections.Generic;
public class Program { public static void Main() { List Answers = new List(); AnswerModel vm1 = new AnswerModel(); vm1.Type = "A"; vm1.Description = "Blue"; vm1.Sort = 1;
var groupedAnswers = Answers .GroupBy(u => new{u.Type}) .Select(g => new ViewModelAnswer{ Type = g.Key.Type, show = g.Any(s=>s.Description == "Blue")
} ).ToList();
foreach (var name in groupedAnswers) { Console.WriteLine(name.show); Console.WriteLine(name.Description); } }
public class AnswerModel { public string Type { get; set; } public string Description { get; set; } public int Sort { get; set; } } public class ViewModelAnswer { public string Type { get; set; } public string Description { get; set; } public int Sort { get; set; } public bool show { get; set; } } } [/code] [b]Рабочий пример:[/b] Ссылка на Fiddle