代码之家  ›  专栏  ›  技术社区  ›  Nag Arjun Reddy

如何在循环中使用集合

  •  0
  • Nag Arjun Reddy  · 技术社区  · 7 年前

    毫无疑问,在更新方法中我有int count,假设count==4,然后我使用for循环来获取id、version和set。

    我试过了,但我觉得不对,而且不起作用, 为id、版本和集合创建了一个单独的列表,

      public void Updates(AUnit _aUnit, int Id)
        {
            ImageDetails _details = new ImageDetails(_aUnit, Id);
    
            int count = (int) _aUnit.ReadBits(8);
            for (int i = 0; i < (int) count; i++)
            {
                _details.ID = (int) _aUnit.ReadBits(8);
                _details.Version = (int) _aUnit.ReadBits(8);
                _details.set = (int) _aUnit.ReadBits(24);
            }
    
            _details.Rset = _aUnit.Buffer.Skip(10).Take(_details.set).ToArray();
    
            //MemoryStream ms = new MemoryStream(_details.PortrateImages.First());
            //Image image = Image.FromStream(ms);
            //Bitmap bmp = new Bitmap(image);
    
            _details.UpdateTime = DateTime.Now.ToString("h:mm:ss tt");
            newData.Add(_details);
        }
    public class ImageDetails
      {
        public ImageDetails(AUnit _au, int carouselId)
        {            
            carId = carouselId;
            _AUnit = _au;         
    
            _updateTime = "";
        }
        private string _updateTime;
        public int ID { get; set; }
        public int Version { get; set; }
        public int set { get; set; }
        public int carId { get; set; }
        public byte[] Rset { get; set; }
        public AUnit _AUnit { get; set; }
        public byte[] bytes { get; set; }
        public List<byte[]> dataArray = new List<byte[]>();
    
        public string UpdateTime
        {
            get { return _updateTime; }
            set { _updateTime = value; }
        }
    
        public List<byte[]> PImages
        {
            get
            {
                List<byte[]> Plogos = new List<byte[]>();
                if (carId == 2)
                {
                    Plogos.Add(Rset);
                }
                return Plogos;
            }
    
        }
        public List<byte[]> LImages
        {
            get
            {
                List<byte[]> Llogos = new List<byte[]>();
                if (carId == 1)
                {
                    Llogos.Add(Rset);
                }
    
                return Llogos;
            }
    
        }
    }
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Prashanth Benny    7 年前

    你可以 detail 一个对象(类)并列出详细信息。

    public class Detail
    {
       public int Id{get;set;}
       public int Version{get;set;}
       public int set{get;set;}
    }
    

    var Details = new List<Detail>();
    

    您可以使用foreach循环访问它。喜欢

    foreach(var detail in Details){
        Console.log(detail.Id)
        .....
    }