struct — value type. class — reference type.
struct:
1public struct Point {2 public int X { get; set; }3 public int Y { get; set; }4}56Point p1 = new Point { X = 1, Y = 2 };7Point p2 = p1; // Copy8p2.X = 10; // p1.X still 1
class:
1public class Person {2 public string Name { get; set; }3}45Person p1 = new Person { Name = "Alice" };6Person p2 = p1; // Copy reference7p2.Name = "Bob"; // p1.Name also "Bob"
When to use struct: