728x90
반응형
728x170
▶ Program.cs
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
namespace TestProject
{
/// <summary>
/// 프로그램
/// </summary>
class Program
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Private
#region 값 열거 가능형 구하기 (비동기) - GetValueEnumerableAsync(token)
/// <summary>
/// 값 열거 가능형 구하기 (비동기)
/// </summary>
/// <param name="token">취소 토큰</param>
/// <returns>값 열거 가능형</returns>
private static async IAsyncEnumerable<int> GetValueEnumerableAsync([EnumeratorCancellation] CancellationToken token = default)
{
for(int i = 0; i < 10; i++)
{
await Task.Delay(i * 100, token);
yield return i;
}
}
#endregion
#region 프로그램 시작하기 - Main()
/// <summary>
/// 프로그램 시작하기
/// </summary>
/// <returns>태스크</returns>
private static async Task Main()
{
using CancellationTokenSource source = new CancellationTokenSource(3000);
CancellationToken token = source.Token;
await foreach(int value in GetValueEnumerableAsync(token))
{
Console.WriteLine(value);
}
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON] Environment 클래스 : MachineName 정적 속성을 사용해 컴퓨터명 구하기 (0) | 2021.08.19 |
---|---|
[C#/COMMON] WindowsIdentity 클래스 : GetCurrent 정적 메소드를 사용해 현재 사용자명 구하기 (0) | 2021.08.19 |
[C#/COMMON] Environment 클래스 : GetFolderPath 정적 메소드를 사용해 특수 폴더 구하기 (0) | 2021.08.19 |
[C#/COMMON] Activator 클래스 : CreateInstance 정적 메소드를 사용해 제네릭 딕셔너리 객체 생성하기 (0) | 2021.08.19 |
[C#/COMMON] 배열 추가하기 (0) | 2021.08.18 |
[C#/COMMON] IAsyncEnumerable<T> 인터페이스 : 비동기 스트림 취소하기 (0) | 2021.08.15 |
[C#/COMMON] 누겟 설치 : System.Interactive.Async (0) | 2021.08.15 |
[C#/COMMON] HttpClient 클래스 : DefaultRequestHeaders 속성을 사용해 사용자 ID/패스워드 설정하기 (0) | 2021.08.15 |
[C#/COMMON] HttpClient 클래스 : HttpClientHandler 객체를 사용해 사용자 ID/패스워드 설정하기 (0) | 2021.08.15 |
[C#/COMMON] IAsyncEnumerable<T> 인터페이스 : 넥서스 저장소(Nexus Repository)에서 자산(Asset) 정보 구하기 (0) | 2021.08.15 |
[C#/COMMON] SmtpClient 클래스 : Send 메소드를 사용해 메일 보내기 (0) | 2021.08.11 |
댓글을 달아 주세요