2011-04-15 61 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];