1
Not generally, this seems to be a clear case for a class, not only because of its size, but also because there is no identity in it. I already gave a answer that says when to choose one thing or another.
If you really need performance and memory allocation control you can use yes, but you have to know what you’re doing, it has several not so obvious implications, even for experienced programmers.
In C# 7.2 it has become easier to do this as long as you use a readonly ref struct
, but it still doesn’t seem suitable for your case, since it should allow direct writing on the object instead of creating a new one. If by chance the semantics is immutable even then it can be useful, but not absolutely necessary. The simplest for a beginner will still be using the class.