KO CSharp Iterators - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
ะฃะบัะฐัะฝััะบะฐ ยท ะ ัััะบะธะน ยท English ยท Deutsch ยท Franรงais ยท Italiano ยท Espaรฑol ยท ็น้ซไธญๆ ยท ๆฅๆฌ่ช ยท ํ๊ตญ์ด
yield return ๋ฉ์๋๋ ์์๊ฐ ์ด๊ฑฐ๋ ๋๋ก ์ ๊ณต๋๊ณ , yield break๋ ์ํ์ค๋ฅผ ์์ฑํฉ๋๋ค. ํด๋น ๋ณธ๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก ์ํ์ค๋ฅผ ์์ฑํ ๋๊ฐ ์๋๋ผ ์ด๊ฑฐํ ๋ ์๋ํ๊ธฐ ์์ํฉ๋๋ค. IAsyncEnumerable<T>๋ await foreach๋ฅผ ํตํ ์์์ ๋น๋๊ธฐ ์์ ์ ์ง์ํฉ๋๋ค.
์ด ์์ ๋ฅผ Example.cs๋ก ๋ฐ๋ก ์ ์ฅํ๊ณ ์ด ํ์ด์ง์ ๋ค๋ฅธ ์์ ์ ๋
๋ฆฝ์ ์ผ๋ก ์คํํ์ธ์.
Example.cs:
// PROJECT-EXAMPLE
System.Collections.Generic.IEnumerable<int> Numbers()
{
yield return 1;
yield return 2;
}
foreach (int value in Numbers()) System.Console.WriteLine(value);๊ฒฐ๊ณผ:
1
2
IEnumerable<int> Range(int count)
{
for (int i = 0; i < count; i++) yield return i;
}
foreach (int value in Range(3))
{
UO.Print(value.ToString());
}async IAsyncEnumerable<int> Ticks()
{
for (int i = 0; i < 3; i++)
{
await WaitAsync(10);
yield return i;
}
}
await foreach (int tick in Ticks())
{
UO.Print($"Tick={tick}");
}๋์ค์ ์ฌ์ ๊ฐ๋ฅํ API์ ์ก์ธ์คํ ํ์ฑ ์คํฌ๋ฆฝํธ ์ธ๋ถ์ ์ํ์ค๋ฅผ ๋ฐํํ์ง ๋ง์ธ์. ์ด๊ฑฐํ ๋ ์์ค ๋ฐ์ดํฐ๊ฐ ์ด๋ฏธ ๋ณ๊ฒฝ๋์์ ์ ์์ต๋๋ค. ToArray๊ฐ ์ฌ์ง์ ์บก์ฒํฉ๋๋ค.
๊ณต์ ๋ฌธ์: ๋ฐ๋ณต์, ์ฐ์ถ๋ ๋ฐ ๋น๋๊ธฐ ์ํ์ค - Microsoft Learn.