KO CSharp LINQ - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
ะฃะบัะฐัะฝััะบะฐ ยท ะ ัััะบะธะน ยท English ยท Deutsch ยท Franรงais ยท Italiano ยท Espaรฑol ยท ็น้ซไธญๆ ยท ๆฅๆฌ่ช ยท ํ๊ตญ์ด
LINQ, ๋ฐ์ดํฐ ์ํ๋ง ๋ฐ ๋ณํ
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.