KO CSharp Structs Records - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki

ะฃะบั€ะฐั—ะฝััŒะบะฐ ยท ะ ัƒััะบะธะน ยท English ยท Deutsch ยท Franรงais ยท Italiano ยท Espaรฑol ยท ็น้ซ”ไธญๆ–‡ ยท ๆ—ฅๆœฌ่ชž ยท ํ•œ๊ตญ์–ด

๊ตฌ์กฐ, ๋ ˆ์ฝ”๋“œ, ํŠœํ”Œ ๋ฐ ๋น„๊ต

์„ค๋ช…์„œ C# ยท ์˜ˆ์‹œ UO

struct โ€” ๊ฐ’ ์œ ํ˜•; class์€ ์ฐธ์กฐ ์œ ํ˜•์ž…๋‹ˆ๋‹ค. record๋Š” ํŽธ๋ฆฌํ•œ ๋ฐ์ดํ„ฐ ๋™๋“ฑ ์˜๋ฏธ ์ฒด๊ณ„๋ฅผ ๊ฐ–์ถ˜ ์œ ํ˜•์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. record class ๋ฐ record struct๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. with๋Š” ์›๋ณธ ๊ฐœ์ฒด๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ์ˆ˜์ •๋œ ๊ตฌ์„ฑ์›์ด ํฌํ•จ๋œ ๋ ˆ์ฝ”๋“œ ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ์˜ˆ์ œ (Example.cs)

์ด ์˜ˆ์ œ๋ฅผ Example.cs๋กœ ๋”ฐ๋กœ ์ €์žฅํ•˜๊ณ  ์ด ํŽ˜์ด์ง€์˜ ๋‹ค๋ฅธ ์˜ˆ์ œ์™€ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰ํ•˜์„ธ์š”.

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);

๊ฒฐ๊ณผ:

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}");

ํŠœํ”Œ์€ ๋ณ„๋„์˜ ํด๋ž˜์Šค ์„ ์–ธ ์—†์ด ์—ฌ๋Ÿฌ ๊ฐ’์„ ๊ทธ๋ฃนํ™”ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์š”์†Œ ์ด๋ฆ„์€ ๊ฐ€๋…์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค์ง€๋งŒ ๋…๋ฆฝ์ ์ธ ์ƒˆ ์œ ํ˜•์„ ์ƒ์„ฑํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์œ ํ˜•์˜ ๊ฒฝ์šฐ ์ฐธ์กฐ ๋™์ผ์„ฑ Equals์™€ ์˜ค๋ฒ„๋กœ๋“œ๋œ ์—ฐ์‚ฐ์ž ==๋ฅผ ๊ตฌ๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ ๋ฌธ์„œ: ๊ตฌ์กฐ์ฒด, ๋ ˆ์ฝ”๋“œ, ํŠœํ”Œ ๋ฐ ๋น„๊ต - Microsoft Learn.