Repository navigation
ES CSharp Structs Records
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
struct — tipo de valor; class es un tipo de referencia. record especifica un tipo con una semántica conveniente de igualdad de datos; record class y record struct son posibles. with crea una copia del registro con los miembros modificados, conservando el objeto original.
Guarde este ejemplo por separado como Example.cs. Ejecútelo independientemente de los demás ejemplos de esta página.
Example.cs:
// PROJECT-EXAMPLE
var original = new Item("ore", 1);
var copy = original with { Count = 3 };
System.Console.WriteLine($"{original.Count}:{copy.Count}");
record Item(string Name, int Count);Resultado:
1:3
record Position(int X, int Y);
var first = new Position(10, 20);
var second = first with { X = 11 };
UO.Print($"First={first}, second={second}");readonly record struct Point(int X, int Y);
var point = new Point(10, 20);
(int X, int Y) coordinates = (point.X, point.Y);
var (x, y) = coordinates;
UO.Print($"{x}, {y}");Una tupla agrupa varios valores sin una declaración de clase separada. Los nombres de sus elementos mejoran la legibilidad, pero no crean un nuevo tipo independiente. Para tipos nativos, distinga entre igualdad de referencia, Equals, y el operador sobrecargado ==.
Documentación oficial: Estructuras, Registros, Tuplas y Comparación - Microsoft Learn.
ClassicUO — Bad Newbie & C# Scripts IDE