반응형
공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
지난 포스팅에서는 조건문과 반복문에 대해 공부했습니다.
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());
}
}
}
}
이상입니다. 감사합니다.
다음 포스팅에서는 네임스페이스에 대해 공부합니다.
반응형
'C#' 카테고리의 다른 글
C#문법-9 : 구조체 (0) | 2019.04.23 |
---|---|
C#문법-8 : namespace 네임스페이스 (0) | 2019.04.23 |
C#문법-6 : 조건문(if ~ else if ~ else, switch) 과 반복문(for, foreach, while, do while) (0) | 2019.04.23 |
C#문법-5 : 연산자(산술, 증감, 논리, 비교, 비트, 시프트, 조건) (0) | 2019.04.22 |
C#문법-4 : 문자열과 열거형 (0) | 2019.04.22 |