Record
Apparence
Links
Definition
Built-in functionality for encapsulating immutable data.
C# 10 allows the record class syntax as a synonym to clarify a reference type, and record struct to define a value type.
Primary constructor
When you declare a primary constructor on a record, the compiler generates public properties for the primary constructor parameters.
public record Person(string FirstName, string LastName);
// with the generated properties it is equivalent to
public record Person
{
public required string FirstName { get; init; }
public required string LastName { get; init; }
};
// record struct value type with immutable properties
public readonly record struct Point(double X, double Y);
// equivalent to
public record struct Point
{
public double X { get; init; }
public double Y { get; init; }
}
// record struct value type with mutable properties
public record struct Point(double X, double Y);
// equivalent to
public record struct Point
{
public double X { get; set; }
public double Y { get; set; }
}
|