首页 > 解决方案 > 用于将包含位图的参数传递给方法的结构或类

问题描述

 struct MyParameters
    {
        public Bitmap resizedBitmap { get; set; }
        public Bitmap originalBitmap { get; set; }
        public int ratio {get; set;}
        public bool setdata {get; set;}
    }

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

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

请指教

标签: c#.netclassstruct

解决方案


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

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

推荐阅读