public abstract record Person(string FirstName, string LastName)
public sealed override string ToString()
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("Base Record");
stringBuilder.Append(" { ");
if (PrintMembers(stringBuilder))
stringBuilder.Append(" ");
stringBuilder.Append("}");
return stringBuilder.ToString();
public record Teacher(string FirstName, string LastName, int Grade): Person(FirstName, LastName)
public override string ToString()
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("Teacher Record");
stringBuilder.Append(" { ");
if (PrintMembers(stringBuilder))
stringBuilder.Append(" ");
stringBuilder.Append("}");
return stringBuilder.ToString();
public record Student(string FirstName, string LastName, int Grade): Person(FirstName, LastName);
public static void Main()
Person person1 = new Teacher("George", "Washington", 1);
Console.WriteLine(person1);