代码之家  ›  专栏  ›  技术社区  ›  techno

用于将包含位图的参数传递给方法的结构或类

  •  0
  • techno  · 技术社区  · 3 年前
     struct MyParameters
        {
            public Bitmap resizedBitmap { get; set; }
            public Bitmap originalBitmap { get; set; }
            public int ratio {get; set;}
            public bool setdata {get; set;}
        }
    

    我可以使用struct将多个图像传递给方法而不是类吗?是否存在性能问题?我引用了这个答案。它提到只使用struct if It has an instance size smaller than 16 bytes.

    https://stackoverflow.com/a/85656/848968

    请咨询

    0 回复  |  直到 3 年前
        1
  •  0
  •   Biju Kalanjoor    3 年前

    选择大于16字节的类和结构时要检查的点

    1. 引用类型赋值复制引用,而值类型赋值复制整个值。因此,大型引用类型的赋值比大型值类型的赋值便宜
    2. 装箱和拆箱是计算成本很高的过程。当一个值类型被装箱时,必须分配和构造一个新对象。在较小程度上。这可能需要比简单的引用分配长20倍的时间