首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在循环中使用集合

如何在循环中使用集合
EN

Stack Overflow用户
提问于 2017-06-30 05:46:12
回答 1查看 48关注 0票数 0

很小的疑问,在更新方法中,我有int计数,比如说count == 4,然后我使用for循环来获取id、版本和set。在本例中,Id、version和set值只获取最后一个值,但如何获取所有值

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

代码语言:javascript
复制
  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;
        }

    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-30 05:58:38

您可以使detail成为一个对象(类),并列出详细信息。

喜欢,

代码语言:javascript
复制
public class Detail
{
   public int Id{get;set;}
   public int Version{get;set;}
   public int set{get;set;}
}

列出一些细节,比如,

代码语言:javascript
复制
var Details = new List<Detail>();

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

代码语言:javascript
复制
foreach(var detail in Details){
    Console.log(detail.Id)
    .....
}

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44839353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档