c# - 使用 ref 关键字传递给方法时结构是否被装箱?

标签 c# struct parameter-passing ref

有谁知道在使用 ref 将结构传递给方法时是否发生装箱 关键字即

struct Test
{
    public int Value;
}

static void Main()
{
    Test test = new Test();
    SomeMethod(ref test);
    System.Diagnostics.Debug.WriteLine(test.Value);
}

static void SomeMethod(ref Test test)
{
    test.Value = 5;
}

我想对类型使用结构,但我有几个方法需要 更改。如果它是盒子,我将把它传入并返回,或者可能改用一个类。

最佳答案

不会有拳击,但听起来你还是应该使用一个类。
对结构最好的建议是它们应该被设计成不可变的,所以

  • 为什么首先要使用 struct
  • 为什么切换到复制和返回以避免装箱?你认为那会更快吗?

关于c# - 使用 ref 关键字传递给方法时结构是否被装箱?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8203247/

相关文章:

c# - 通过属性重新分配结构的成员变量

分配复合结构时 C 程序崩溃

c++ - 提供第二个可选参数而不需要提供第一个可选参数?

ios - 如何将特定元素从数组传递到另一个 View 或函数? swift

javascript在类中传递一个函数,该类需要该类对象中的另一个函数

c# - 如何仅在必要时使用 ADO.NET Entity Framework 加载 varbinary(max) 字段?

c# - 在 catch 语句之外抛出语句

c# - ModelState.Clear 不工作

c# - 'keyword' 和 'aliased type' 有什么区别?

c# - lambda 表达式中的结构引用