2015-05-13 21 views
-1

我是新來的C#和我試圖保存從XML解析器讀取的一些數據。數據被正確地讀出,其實我模鑄它們如下:如何在每個數組中保存值?

liveMatches.ForEach(match => Console.WriteLine(
      match.Id.ToString(), 
      match.Name, 
      match.Country, 
      match.Historical_Data, 
      match.Fixtures, 
      match.Livescore, 
      match.NumberOfMatches, 
      match.LatestMatchResult 
      )); 

但現在我想創建具有八個單元的陣列,這些細胞將在該被示出在控制檯上爲每個匹配其內容被插入。 誰能告訴我該怎麼辦?

+0

是,具有以下結構的數組: ID - Name - Country - History - Fixtures - Livescore - NumberOfMatch - LatestMatchResult –

+0

@YuvalItzchakov可能更可能是一個字符串[,8]或對象[,8],但它很難知道第一個等級而不知道有多少匹配是的。 –

+0

你可以創建一個類Match,然後給這個類添加* 8上面的屬性*,然後從你有的代碼中創建一個'List ' – christiandev

回答

1

嘗試是這樣的

  List<List<object>> results = new List<List<object>>(); 
      liveMatches.ForEach(match => results.Add(new object[] { 
       match.Id.ToString(), 
       match.Name, 
       match.Country, 
       match.Historical_Data, 
       match.Fixtures, 
       match.Livescore, 
       match.NumberOfMatches, 
       match.LatestMatchResult 
      })); 
0

Create a lambda expression with a new anonymous type at runtime

這應該回答你的問題。

基本上,您將創建一個匿名對象,但您必須將其返回給某個對象;現在,liveMatches的結果沒有任何分配,所以沒有任何結果。我會做這樣的事情:基於Sidewinder94的評論

+0

如果你有你的ForEach方法的MSDN文檔,我會非常感興趣,因爲我正在使用的一個,我可以找到在MSDN上不返回任何東西:https://msdn.microsoft.com/en- us/library/bwabdf9z%28v = vs.110%29.aspx – Sidewinder94

+0

你說得對,我混淆了我的lambda調用。它應該是liveMatches.Where(match => match!= null).Select(match => new {etc.}) –

+0

你可能想要編輯你在這種情況下的答案:) – Sidewinder94

1

創建一個類

var Item = liveMatches 
        .Where(match => match != null) 
        .Select(match => new { 
        Id = match.Id.ToString(), 
        Name = match.Name 
        ... 
       )).ToList(); 

編輯...

public class Match 
{ 
    public string Id {get; set;} 
    public string Name {get; set;} 
    .... 
} 

然後,創建的Match列表...

var matches = liveMatches.Select(match => new Match { 
      Id = match.Id.ToString(), 
      Name = match.Name, 
      etc 
      }).ToList(); 

我在這裏手工輸入,所以我不確定這是否正確,但它是沿着這些線。

編輯:如果您不能創建一個類型,可以使用...

var matches = liveMatches.Select(match => new 
      { 
       Id = match.Id.ToString(), 
       Name = match.Name 
      }).ToList(); 
相關問題