2011-04-15 121 views
0

我已經將一個arraylist列表存儲到第二個arraylist中,第三個arraylist包含第二個arraylist列表。獲取arraylist在arraylist

deliveries arraylist包含產品列表,每個產品列表包含productdetails列表。

現在如何獲得送貨arraylist中的第一個productdetails列表。

我試過,但沒有工作

讓假設我想首先在產品詳細ArrayList的進入。

( (ArrayList的)deliveries0 [0] )[0] .GetValue(1)的ToString()

+3

'ArrayList'是舊的,你應該使用'名單',而是和你的結構應該是具有屬性,它是其他類(如產品)的列表和一個自定義類的列表(例如交貨)等等... – digEmAll 2011-04-15 07:49:50

+0

除非你在.Net 1上,否則沒有理由使用ArrayList。列表提供了ArrayList的所有功能以及類型安全。 – spender 2011-04-15 07:51:05

+0

+1 @digEmAll自定義類使用 – 2011-04-15 07:57:00

回答

1

您還可以使用LINQ來獲取記錄。

var detail = deliveries.FirstOrDefault().ProductDetails.FirstOrDefault(); 
1

它往往更容易的事情建模爲對象:

public class Delivery 
    { 
     public List<Product> Products { get; set; } 
     public Delivery() 
     { 
      Products = new List<Product>(); 
     } 
    } 

    public class Product 
    { 
     public List<ProductDetail> ProductDetails { get; set; } 
     public Product() 
     { 
      ProductDetails = new List<ProductDetail>(); 
     } 
    } 

    public class ProductDetail 
    { 
     public string Summary { get; set; } 
     public string Details { get; set; } 
    } 

然後,您可以創建一個交貨,產品和產品描述是這樣的:

Delivery delivery = new Delivery(); 
    Product product = new Product(); 
    ProductDetail detail = new ProductDetail(); 
    delivery.Products.Add(product); 
    product.ProductDetails.Add(detail); 

檢索產品細節如此的簡單:

ProductDetail detail = delivery.Products[0].ProductDetails[0];