C#

C#문법-7 : 예외처리와 yield

알통몬_ 2019. 4. 23. 11:36
반응형


공감 및 댓글은 포스팅 하는데

 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 

도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 

만들어 나가겠습니다^^

 


지난 포스팅에서는 조건문과 반복문에 대해 공부했습니다.

2019/04/23 - [C#] - C#문법-6 : 조건문(if ~ else if ~ else, switch) 과 반복문(for, foreach, while, do while)


이번 포스팅에서는 예외처리와 yield에 대해 공부합니다.


먼저 yield에 대해 공부합니다.

using System;
using System.Collections;

namespace workspace_csharp
{

class MyClass
{

// yeild 키워드는 컬렉션 데이터를 하나씩 리턴할 때 사용.
static IEnumerable AAA()
{
yield return 100;
yield return 1000;
yield return 10000;
}

static void Main(String[] args)
{
foreach(int a in AAA()) {
Console.WriteLine("a = " + a);
}
}
}

}

yield 는 위 주석에 적어놓은 것처럼 컬렉션의 데이터를 하나씩

반환할 때 사용합니다. 

AAA() 메소드를 보면 IEnumerable 이고 yield return 이 세번

다른 값을 반환합니다.

IEnumerable 는 사용하기 전에 System.Collections 네임스페이스

가 추가되어야 합니다. 

위 예제를 실행시켜보시면 어떤 역할을 하고 어떤 순서로 돌아가는 

지 알 수 있으실 거에요.

static IEnumerable AAA()
{
yield return "100";
yield return "1000";
yield return "10000";
}

static void Main(String[] args)
{
foreach(string a in AAA()) {
Console.WriteLine("a = " + a);
}
}
}

반환하는 값은 타입이 정해져있지 않기 때문에 원하는 반환 타입으

로 값을 넣어주면 됩니다.

 


예외처리 - try {} catch{} finally {}

예외처리는 자바와 같습니다.

using System;
using System.Collections;

namespace workspace_csharp
{

class MyClass
{

// yeild 키워드는 컬렉션 데이터를 하나씩 리턴할 때 사용.
static IEnumerable AAA()
{
yield return "100";
yield return 1000;
yield return "10000";
}

static void Main(String[] args)
{
try
{
foreach (string a in AAA())
{
Console.WriteLine("a = " + a);
}

}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
}

}


이상입니다. 감사합니다.

다음 포스팅에서는 네임스페이스에 대해 공부합니다.


반응형