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

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

LINQ, ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ๋ง ๋ฐ ๋ณ€ํ™˜

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

LINQ๋Š” ์‹œํ€€์Šค๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค: Where ํ•„ํ„ฐ, Select ๋ณ€ํ™˜, OrderBy ์ •๋ ฌ, GroupBy ๊ทธ๋ฃน, Any/All ์กฐ๊ฑด ํ™•์ธ, Count/Sum ์ง‘๊ณ„. ๊ฒฐ๊ณผ๊ฐ€ ์—ด๊ฑฐ๋˜๋Š” ๋™์•ˆ ๋งŽ์€ ์ž‘์—…์ด ์ง€์—ฐ๋˜์–ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ToArray ๋ฐ ToList๊ฐ€ ์‚ฌ์ง„์„ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค.

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

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

Example.cs:

// PROJECT-EXAMPLE
using System.Linq;
int[] values = [1, 2, 3];
var selected = values.Where(value => value > 1);
System.Console.WriteLine(string.Join(",", selected));

๊ฒฐ๊ณผ:

2,3
int[] amounts = [1, 5, 2, 10];
var selected = amounts.Where(value => value >= 5).OrderBy(value => value).ToArray();
UO.Print(string.Join(", ", selected));
var entries = new[]
{
    new { Name = "ore", Amount = 2 },
    new { Name = "wood", Amount = 3 },
    new { Name = "ore", Amount = 4 }
};
var totals = from entry in entries
             group entry by entry.Name into groupValue
             select new { Name = groupValue.Key, Total = groupValue.Sum(value => value.Amount) };
foreach (var total in totals)
{
    UO.Print($"{total.Name}: {total.Total}");
}

First ์š”์†Œ๊ฐ€ ์—†์œผ๋ฉด ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. FirstOrDefault์€ ๊ธฐ๋ณธ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ง€์—ฐ๋œ ์š”์ฒญ์„ ๋‹ค์‹œ ์—ด๊ฑฐํ•˜๋ฉด ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์ฝ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฒŒ์ž„ ๋ชฉ๋ก์˜ ์Šค๋ƒ…์ƒท์„ ์ฃผ์˜ ๊นŠ๊ฒŒ ์ดฌ์˜ํ•˜์„ธ์š”.

๊ณต์‹ ๋ฌธ์„œ: LINQ, ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ๋ฐ ๋ณ€ํ™˜ - Microsoft Learn.