【问题标题】:Nested Classes C#嵌套类 C#
【发布时间】:2013-06-23 02:48:56
【问题描述】:

我的数据如下所示:

系列1
图像1 图像文件1
图像 2 图像文件 2
图像3 图像文件3

系列2
图像1 图像文件1
图像 2 图像文件 2
Image3 ImageFile3
Image4 ImageFile4

系列3
图像1 图像文件1

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

  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});
}

显然不包括所有代码。我的结果是这样的:

Series1 Image1 ImageFile1
系列 1 图像 2 图像文件 2
系列1 Image3 ImageFile3

Series2 Image1 ImageFile1
系列 2 Image2 ImageFile2
系列2 Image3 ImageFile3
Series2 Image4 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#,所以这对我来说有点新。如果有更好的方法来使用锯齿状数组或字典或其他东西来做到这一点,我也会为此做好准备。

谢谢:)

【问题讨论】:

  • 您能否编辑问题以显示输出的来源?就目前而言,这个问题非常不清楚,因为我们无法知道最重要的部分。

标签: c# nested


【解决方案1】:

我相信您需要使用字典。 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 更好。

【讨论】:

  • 快速响应!非常有趣,我不知道你可以用字典搜索特定的 id。会试试看!非常感谢。
  • 太棒了.. 效果很好,只需要修正最后 dcm=dict 的错字。正是我想要的。谢谢奥萨马·贾维德。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-29
  • 2018-11-08
  • 2017-01-05
  • 2011-09-11
  • 2011-08-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多