using System;
string Describe(object obj) {
//C# 8 feature
switch (obj) {
case int i when i > 1_000_000:
return "Big number";
case string {Length: < 256}:
return "Short string";
case Tiger {Age: > 12}:
return "Old tiger";
case Tiger {Name: { Length: > 10 }}:
return "Long tiger name";
//C# 10 feature
case Tiger { Name.Length: <= 10 }:
return "Short tiger name";
default:
return "Unknown type";
}
}
var result = Describe(new Tiger(15, "Sherkhan"));
Console.WriteLine(result);
//printed: Old tiger
record Tiger(int Age, string Name);