EN CSharp Keyword struct - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
C#: struct
Declares value type: The assignment copies the value. Small immutable structures are convenient for coordinates and results.
Simple example (Example.cs)
Save this example separately as Example.cs. Run it independently of the other examples on this page.
Example.cs:
// PROJECT-EXAMPLE
Point original = new() { X = 2 };
Point copy = original;
copy.X = 9;
System.Console.WriteLine($"{original.X}:{copy.X}");
struct Point { public int X; }
Result:
2:9
Syntax
struct Name { ... } / readonly struct Name { ... }
Example 1: simple form
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
public static class Program
{
public static async Task Main(string[] args)
{
Point first = new(2, 3);
Point copy = first;
copy.X = 9;
Console.WriteLine($"{first.X}:{copy.X}");
}
}
public struct Point(int x, int y) { public int X = x; public int Y = y; }
Example 2: another practical form
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
public static class Program
{
public static async Task Main(string[] args)
{
Position position = new(2, 4);
Console.WriteLine(position.X + position.Y);
}
}
public readonly struct Position(int x, int y) { public int X { get; } = x; public int Y { get; } = y; }
Official source: Microsoft Learn.