Console.WriteLine("Add Constraints"); foreach(CustomerSegment segment in CustomerSegments) { foreach(Constraint element in segment.Constraints) { Console.WriteLine("Constraint Name "+element.Name+", Value " + element.Value.ToString()); } }
foreach(Offering element in Offerings){ Console.WriteLine("Offering Name "+element.Name+", Value " + element.Value.ToString()); }
输出:start Add Constraints Constraint Name color, Value blue Constraint Name Engine, Value 0 Add Offerings Offering Name color, Value red Offering Name Engine, Value 1
//自己对比代码,就知道原因了
Console.WriteLine("start");
List<CustomerSegment> CustomerSegments = new List<CustomerSegment>();
List<Constraint> Constraints = new List<Constraint>();
List<Offering> Offerings = new List<Offering>();
var cts=new CustomerSegment("T", 13);
Constraint C1 = new Constraint("color", "blue");
Constraint C2 = new Constraint("Engine", 0);
Constraints.Add(C1);
Constraints.Add(C2);
cts.Constraints=Constraints;
CustomerSegments.Add(cts);
Console.WriteLine("Add Constraints");
foreach(CustomerSegment segment in CustomerSegments)
{
foreach(Constraint element in segment.Constraints)
{
Console.WriteLine("Constraint Name "+element.Name+", Value " + element.Value.ToString());
}
}
Offerings.Add(new Offering("color", "red"));
Offerings.Add(new Offering("Engine", 1));
Console.WriteLine("Add Offerings");
foreach(Offering element in Offerings){
Console.WriteLine("Offering Name "+element.Name+", Value " + element.Value.ToString());
}
Add Constraints
Constraint Name color, Value blue
Constraint Name Engine, Value 0
Add Offerings
Offering Name color, Value red
Offering Name Engine, Value 1
定义了4个class,一层套一层的,把自己都套晕乎了,真会玩
是事先建模用了那么多层。 然后需要实现,就用小程序先试一下
事实上建模是7层list, 涉及无数class建模不是我建的, 我也不想的
多谢版主了! 因为是完全0基础,不知道我理解得对不对,我的代码相当于割裂了Main和CustomerSegment的Constraints, 虽然在Main里输入了Constraint并加入List中了, 但没有传到相关CustomerSegment.Constraints里,导致无法读取,是这样吗?