如何在循环中使用 Collection

通过阿琼雷迪

小疑问,在 Update 方法中我有 int count,比如说 count == 4,然后我使用 for 循环来获取 id、version 和 set。在这种情况下,Id、version 和 set 值仅获取最后一个值,但如何获取所有值

我试过了,但我觉得它是错误的并且不起作用,为 id、version 和 set 创建了一个单独的列表,例如:_details.imageList.Add(logoHeader.LogoID);

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

    }
}
本尼

您可以创建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)
    .....
}

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章