Class VS ref Struct

后端 未结 2 1727
温柔的废话
温柔的废话 2021-02-09 01:15

I am programming a game using C#, thus, I am very concerned about performance.

I would like to know what are the main differences, and if possible, performance considera

相关标签:
2条回答
  • 2021-02-09 01:36

    Your delegate receives a reference type - a List, so you're passing the entire list by reference anyway.

    Passing a large structure by value is definitely most expensive than passing just the reference. When you have a large structure, it usually doesn't make sense to use it as a structure, just turn it into a class.

    Anyway, are you sure you'll have a performance issue here? Seems like a very premature optimization.

    0 讨论(0)
  • 2021-02-09 01:51

    I know that a class is always passed by reference and that a struct is passed by value, but I talking about passing the struct by reference here.

    You probably have the right idea, but this is incorrect. Everything in C# is passed by value unless you use the ref keyword.

    Class instances are reference types, struct instances are value types.

    When you pass a reference type by value, you pass a copy of the reference (small). When you pass a value type by value, you pass a copy of the whole data (potentially large).

    Jon Skeet has a good explanation of all this here.

    0 讨论(0)
提交回复
热议问题