2012-11-23 71 views
0

如何初始化属性值,我有以下代码:取决于另一个propertey

var workOrderList = new List<WorkOrder>(
       from index in Enumerable.Range(1, orders.Length) 
       select new WorkOrder 
       { 
        OrderID = orders[index - 1], 
        Status = status[random.Next(0,status.Length-1)], 
        TotalQuantity = random.Next(1, 5) * 8, 
        ScheduleCollection = new ObservableCollection<Schedule> 
        { 
        new Schedule 
         { 
          Color = colors[random.Next(0,colors.Length-1)], 
          Model = models[random.Next(0,models.Length-1)], 
          Status = status[random.Next(0,status.Length-1)], 
          TotalNumber = To be Updated bases on Total Quantity 
         } 
} 

现在,我想无论是分或减去值从TotalQuantity更新总数。

回答

1

使用let子句中查询,提取常用语句:

var workOrderList = new List<WorkOrder>(
    from index in Enumerable.Range(1, orders.Length) 
    let totalQuantity = random.Next(1, 5) * 8 
    select new WorkOrder 
    { 
     OrderID = orders[index - 1], 
     Status = status[random.Next(0,status.Length-1)], 
     TotalQuantity = totalQuantity, 
     ScheduleCollection = new ObservableCollection<Schedule> 
     { 
      new Schedule 
      { 
       Color = colors[random.Next(0,colors.Length-1)], 
       Model = models[random.Next(0,models.Length-1)], 
       Status = status[random.Next(0,status.Length-1)], 
       TotalNumber = // Do something with totalQuantity 
      } 
     } 
    }); 
+0

我找不到让你的代码 – Simsons

+0

看第三行的任何地方... – shambulator

-2
var workOrderList = new List<WorkOrder>(
       from index in Enumerable.Range(1, orders.Length) 
       select new WorkOrder 
       { 
        OrderID = orders[index - 1], 
        Status = status[random.Next(0,status.Length-1)], 
        TotalQuantity = random.Next(1, 5) * 8, 
        Sassion["Key"] = TotalQuantity; 
        ScheduleCollection = new ObservableCollection<Schedule> 
        { 
        new Schedule 
         { 
          Color = colors[random.Next(0,colors.Length-1)], 
          Model = models[random.Next(0,models.Length-1)], 
          Status = status[random.Next(0,status.Length-1)], 
          TotalNumber = Sassion["Key"]; 
         } 
} 
+0

什么是Sassion [”键”]? – Simsons

+0

我的意思是会议[“关键”] ... – Rakesh

+0

@ user1713815如果它不是一个Web项目呢? –