2013-06-23 160 views
0

我有一个看起来像这样的数据:嵌套类C#

系列1
此搜索ImageFile1
镜像2 ImageFile2
的Image3 ImageFile3

系列2
此搜索ImageFile1
镜像2 ImageFile2
的Image3 ImageFile3
Image4 ImageFile4

系列3
此搜索ImageFile1

我试图来存储它使用列表和这个类:

private List<SeriesClass> dcm = new List<SeriesClass>(); 

    public class SeriesClass 
    { 

     public int SeriesId { get; set; } 
     public int Value1 { get; set; } 
     public string Value2 { get; set; } 

    } 
    Loop that populates the data { 
    dcm.Add(new SeriesClass { Value1 = value1, Value2 = value2, SeriesId = seriesnum}); 
} 

显然不包括所有的代码。我的结果是什么,看起来像这样:

系列1 IMAGE1 ImageFile1
系列1镜像2 ImageFile2
系列1的Image3 ImageFile3

系列2图像1 ImageFile1
系列2镜像2 ImageFile2
系列2的Image3 ImageFile3
系列2图像4 ImageFile4

Series3 Image1 ImageFile1

我想知道是否有一种嵌套类的好方法,以便SeriesID变得像包含其余数据的关键字段。就像我可以在特定系列下拉出图像列表一样。

我试着这样做:

public class SeriesClass 
     { 

     public int SeriesId { get; set; } 

public class ImageClass{ 
     public int Value1 { get; set; } 
     public string Value2 { get; set; } 
      } 

     } 
    Loop that populates the data { 
     dcm.Add(new SeriesClass { SeriesClass.ImageClass.Value1 = value1, SeriesClass.ImageClass. Value2 = value2, SeriesClass.SeriesId = seriesnum}); 
} 

但List.Add东西不允许..任何帮助将不胜感激。我刚刚开始与C#一起工作,所以这对我来说有点新意。如果有更好的方法来处理锯齿状数组或字典,或者我也会采用这种方法。

谢谢:)

+0

您能否编辑问题以显示输出来自何处?就目前而言,这个问题很不明确,因为我们无法了解最重要的部分。 – catfood

回答

0

我相信你需要使用字典。 Dictionary可以使用该id作为键和列表作为值。

private Dictionary<Integer,List<SeriesClass>> dict= new Dictionary<Integer,List<SeriesClass>>(); 

    public class SeriesClass 
    { 

     public int Value1 { get; set; } 
     public string Value2 { get; set; } 

    } 
    Loop that populates the data { 
    if (dict.containsKey(seriesNum)){ 
     dict[seriesNum].Add(new SeriesClass { Value1 = value1, Value2 = value2}); 
    }else{ 
     var list = new List<SeriesClass>(); 
     list.Add(new SeriesClass { Value1 = value1, Value2 = value2}); 
     dcm.Add(seriesNum, list); 
    } 
} 

我还没有测试过代码,所以可能会出现语法错误,但我希望你能得到要点。 TryGet可能会更好,而不是使用containsKey。

+0

快速响应!非常有趣,我不知道你可以用字典搜索特定的ID。会试试看!非常感谢。 – user2512802

+0

真棒..工作得很好只是不得不修复错误末尾dcm = dict。正是我在找什么。感谢Osama Javed。 – user2512802