2011-06-20 81 views
0

我有以下課程。 Parent類的內部是ParentDetail的列表。現在我需要爲ParentDetail類添加一個新字段。該字段被稱爲Id。我需要的是一個主類中的方法,它將遍歷ParentDetails並使用從1開始的數字填充Id字段。如何將序列ID添加到另一個類的列表中的類?

任何人都可以想到一個簡單的方法來做到這一點?我不確定我如何遍歷列表。

public class Parent { 
     public IList<ParentDetail> ParentDetails { 
      get { return _ParentDetails; } 
     } 
     private List<ParentDetail> _ParentDetails = new List<ParentDetail>(); 
     public Parent() { 
      this._ParentDetails = new List<ParentDetail>(); 
     } 
    } 

    public class ParentDetail { 
     public int Id { get; set; } <<<<<<<< new field 
    } 

} 

回答

1
for(int i = 0; i < _ParentDetails.Count; i++) 
{ 
    _ParentDetails[i].Id = i + 1; 
} 
+0

其實,@羅伊 - 那需要是'我+ 1':) –

+0

「從1開始」......你是對的! :-) –

1

可以做直for(int i; i < Count; i++)環路由Roy Dictus(+1從我)建議 - 我只是夾緊這個那裏作爲替代,這情況是非常有用的,你不要't知道可枚舉的計數。

foreach(var detail in _ParentDetails. 
    Select((d, i) => new { Item = d, Index = i + 1}) 
{ 
    detail.Item.Id = detail.Index; 
} 

在你的情況下,你這樣做;因爲你有一個IList,但是。

相關問題