Kan defineres enten som record
, class
// C# records
public record Pokemon(string Name, Sprites Sprites);
public record Sprites(string Front_Default, string Back_Default);
// C# class
public class Pokemon
{
public string? Name { get; set; }
public Sprites Sprites { get; set; }
}
public class Sprites
{
public string? Front_Default { get; set; }
public string? Back_Default { get; set; }
}
// C# records
var pokemon = new Pokemon("charmander", new Sprites("https://…", "https://…"));
For klasser kan man benytte Object initializer syntax:
// C# class
var pokemon = new Pokemon
{
Name = "charmander",
Sprites = new Sprites
{
Front_Default = "https://…",
Back_Default = "https://…"
}
};
Lister og andre typer collections støtter og Object initializer-syntaksen:
var list = new List<string>();
list.Add("Hello");
list.Add("Goobye");
list.Add("Hi");
var list = new List<string>
{
"Hello",
"Goobye",
"Hi"
};
LINQ er en samling av metoder for å iterere, filtrere og collections med en funksjonell syntaks.
Gitt:
var list = new List<string>
{
"Hello",
"Goobye",
"Hi"
};
var filtered = new List<string>();
foreach (var item in list)
{
if (item.StartsWith("H"))
{
filtered.Add(item.ToUpper());
}
}
… ser slik ut med bruk av LINQ:
// Extension methods
var filtered = list.Where(s => s.StartsWith("H")).Select(s => $"{s.ToUpper()}");
// Query syntax
var filtered = from s in list where s.StartsWith("H") select s.ToUpper();