В конструкторе вашего объекта Something убедитесь, что вы создаете новый объект Colors. Я думаю, это твоя проблема. Вы не опубликовали много кода для работы.
Примерно так:
public Something()
{
this.Colors = new List<Color>();
}
Таким образом, у вас всегда будет действительный объект списка в объекте Something.
Ладно, измените код вашей модели так:
namespace MVCApplication7
{
public class Something
{
public int SomethingID { get; set; }
public string Name { get; set; }
public List<Color> Colors { get; set; }
public Something()
{
this.Colors = new List<Color>();
}
}
}
Это будет создавать новый список цветов каждый раз, когда вы создаете новый объект что-то, и предотвращает ошибку ссылки на объект.
UPDATE
Хорошо с тем, что я перечислил выше в качестве вашей модели, вот ваше решение исходного вопроса:
var list = new List<Something>()
{
new Something(){SomethingID = 1,Name="John", Colors = {Color.Red,Color.Black}},
new Something(){SomethingID = 2,Name="George", Colors = {Color.Bisque,Color.Blue}},
new Something(){SomethingID = 3,Name="Chris", Colors ={Color.Khaki,Color.Cornsilk}}
};
foreach (var item in list)
{
Console.WriteLine(item.Name);
foreach (var color in item.Colors)
{
Console.WriteLine(color.ToString());
}
Console.WriteLine("");
}
Вы можете видеть, что у каждого объекта Something есть свой уникальный список цветов.
Пожалуйста, отметьте это как ответ, если это решит вашу проблему.