Records and Modern Types
Init Properties
Init-only properties are assigned during object creation.
Init Properties
InitProperties.cs
using System;
class Profile
{
public string Name { get; init; } = "";
public int Age { get; init; }
public override string ToString()
{
return Name + ":" + Age;
}
}
class Program
{
static void Main()
{
int age = ;
Profile profile = new Profile { Name = "Dana", Age = age };
string summary = profile.Name + ":" + profile.Age;
Console.WriteLine($"age={age}");
Console.WriteLine($"summary={summary}");
}
}
using System;
class Profile
{
public string Name { get; init; } = "";
public int Age { get; init; }
public override string ToString()
{
return Name + ":" + Age;
}
}
class Program
{
static void Main()
{
int age = ;
Profile profile = new Profile { Name = "Dana", Age = age };
string summary = profile.Name + ":" + profile.Age;
Console.WriteLine($"age={age}");
Console.WriteLine($"summary={summary}");
}
}
using System;
class Profile
{
public string Name { get; init; } = "";
public int Age { get; init; }
public override string ToString()
{
return Name + ":" + Age;
}
}
class Program
{
static void Main()
{
int age = ;
Profile profile = new Profile { Name = "Dana", Age = age };
string summary = profile.Name + ":" + profile.Age;
Console.WriteLine($"age={age}");
Console.WriteLine($"summary={summary}");
}
}
init property
An `init` property can be set in an object initializer and then treated as fixed.