안녕하세요. 명월입니다.
이 글은 C#에서의 형 변환(Cast)과 주석(Comment)에 대한 글입니다.
형 변환(Cast)
이전 글에서 자료형(데이터 타입)에 대해서 설명한 적이 있습니다.
링크 - [C#] 03. 자료형
프로그램에서 우리가 모든 형에 맞추어서 데이터를 입력하고 그 입력된 값을 계산할 수는 없습니다.
예를 들면 실수형 변수와 정수형 변수가 있을 때 계산을 해야합니다.
using System;
namespace Exception3
{
class Program
{
// 실행 함수
static void Main(string[] args)
{
// 정수형 변수
int a = 10;
// 실수형 변수
float b = 20.5f;
// 더하기
int c = a + b;
// 콘솔 출력
Console.WriteLine("c = " + c);
// 아무 키나 누르면 종료
Console.WriteLine("Press any key...");
Console.ReadLine();
}
}
}
위 예제를 보면 정수형 타입인 a와 실수형 타입인 b의 값을 더하여 정수형 타입에 c에 넣고 싶다.
이렇게 자료형 타입이 다르다고 에러가 발생하게 됩니다.
이러면 b를 int형으로 자료형을 변환시켜야 합니다. 이것을 우리는 형 변환(cast)라고 합니다.
형 변환은 간단합니다. 괄호를 사용하면 됩니다.
using System;
namespace Exception3
{
class Program
{
// 실행 함수
static void Main(string[] args)
{
// 정수형 변수
int a = 10;
// 실수형 변수
float b = 20.5f;
// 더하기, 형 변환(cast)하면 소수점 이하는 절삭이 된다.
int c = a + (int)b;
// 콘솔 출력
Console.WriteLine("c = " + c);
// 아무 키나 누르면 종료
Console.WriteLine("Press any key...");
Console.ReadLine();
}
}
}
이런 괄호로 형 변환하는 건 int, float만 가능합니다. String으로 있는 값을 정수형으로 변환해서 사용해야 할 때도 있습니다.
using System;
namespace Exception3
{
class Program
{
// 실행 함수
static void Main(string[] args)
{
// 정수형 변수
int a = 10;
// 문자형 변수
string b = "20";
// 더하기, int.Parse함수를 이용해서 string을 int로 변환 가능
int c = a + int.Parse(b);
// 콘솔 출력
Console.WriteLine("c = " + c);
// 아무 키나 누르면 종료
Console.WriteLine("Press any key...");
Console.ReadLine();
}
}
}
문자열 string을 int로 형 변환을 하려면 int.Parse함수를 이용해야 합니다.
Parse함수는 int만 있는 것이 아니라 float와 double도 있습니다.
이 형 변환할 때, 문자열에 숫자만 있으면 좋은데 문자까지 섞이면 어떻게 될까요?
using System;
namespace Exception3
{
class Program
{
// 실행 함수
static void Main(string[] args)
{
// 정수형 변수
int a = 10;
// 문자형 변수 (숫자뿐 아닌 문자가 포함)
string b = "20a";
// 더하기, int.Parse함수를 이용해서 string을 int로 변환 가능
int c = a + int.Parse(b);
// 콘솔 출력
Console.WriteLine("c = " + c);
// 아무 키나 누르면 종료
Console.WriteLine("Press any key...");
Console.ReadLine();
}
}
}
에러가 발생합니다. 에러가 발생하면 프로그램이 멈추기 때문에 멈추지 않게 에러가 발생하면 기본값, 즉, 0으로 설정하는 방법입니다.
using System;
namespace Exception3
{
class Program
{
// 실행 함수
static void Main(string[] args)
{
// 정수형 변수
int a = 10;
// 변환할 변수
int b = 10;
// 문자형 변수 (숫자뿐 아닌 문자가 포함), 에러가 발생하면 b에 0을 대입
int.TryParse("20a", out b);
// 더하기, int.Parse함수를 이용해서 string을 int로 변환 가능
int c = a + b;
// 콘솔 출력
Console.WriteLine("c = " + c);
// 아무 키나 누르면 종료
Console.WriteLine("Press any key...");
Console.ReadLine();
}
}
}
각 자료형 뿐아니라 Convert 클래스를 이용할 수도 있습니다.
using System;
namespace Exception3
{
class Program
{
// 실행 함수
static void Main(string[] args)
{
// 정수형 변수
int a = 10;
// String 타입에서 변환
int b = Convert.ToInt32("20");
// 더하기, int.Parse함수를 이용해서 string을 int로 변환 가능
int c = a + b;
// 콘솔 출력
Console.WriteLine("c = " + c);
// 아무 키나 누르면 종료
Console.WriteLine("Press any key...");
Console.ReadLine();
}
}
}
메소드 | 설명 |
---|---|
ToBoolean | 부울 형태로 변환합니다. |
ToByte | 유니코드를 정수형태로 변환합니다. |
ToChar | 유니코드 형태로 변환합니다. |
ToDecimal | Decimal 숫자 형태로 변환합니다. |
ToDouble | 실수 형태로 변환합니다. |
ToInt16 | 16비트 부호 있는 정수로 변환합니다. |
ToInt32 | 32비트 부호 있는 정수로 변환합니다. |
ToInt64 | 64비트 부호 있는 정수로 변환합니다. |
ToSbyte | 8비트 부호 있는 정수로 변환합니다. |
ToSingle | 단정 밀도 부동 소숫점으로 변환합니다. |
ToString | 문자열로 변환합니다. |
ToUInt16 | 16비트 부호 없는 정수로 변환합니다. |
ToUnit32 | 32비트 부호 없는 정수로 변환합니다. |
ToUnit64 | 64비트 부호 없는 정수로 변환합니다. |
주석(Comment)
주석은 실제 프로그램에는 영향을 미치지는 않고 소스 내에 메모(?)를 하기 방법입니다.
주석에는 종류에 따라 일반 주석과 XML 주석이 있습니다.
일반 주석에는 사용 방법에 따라 다항 주석과 한줄 주석이 있습니다.
/*
다항 주석
프로젝트 명: 명월 일지
개발자: 명월
작업 일시: 2020/06/26
BLOG: nowonbun.tistory.com
*/
using System;
namespace Exception3
{
class Program
{
/// <summary>
/// XML 주석
/// </summary>
/// <param name="args">파라미터</param>
static void Main(string[] args)
{
// 한줄 주석
// 아무 키나 누르면 종료
Console.WriteLine("Press any key...");
Console.ReadLine();
}
}
}
주석으로 개발 상의 메모나 프로젝트 설명 등을 표시할 수 있습니다.
그리고 XML 주석의 경우는 프로그램이 완료 후에 XML 형식으로 출력할 수도 있습니다.
그리고 F5로 컴파일을 하면 해당 폴더에 xml 파일이 생깁니다.
위 보면 XML 주석이 xml 파일로 메소드와 설명, 파라미터가 있습니다. XML 주석의 태그로 추가할 수 있습니다.
태그 | 설명 |
---|---|
summary | 형식 또는 형식 맴버 설정 |
remarks | 상세한 설명 |
para | remarks의 추가 설명 |
value | 프로퍼티 설명 |
example | 사용 예제 |
list | 리스트나 테이블 생성 |
code | 여러줄의 코드로 표시할 때 사용 |
see | 텍스트 내부의 링크지정 |
seealso | 참고 부분에 나타나는 텍스트 지정 |
exception | 예외 설명 |
permision | 접근 권한 설명 |
param | 메소드의 파라미터 설명 |
return | 반환 값 설명 |
c | 설명 안에 포함되는 코드 |
프로그램은 소스 정리와 문서 작성으로 시작해서 소스 정리와 문서 작성으로 끝난다는 말이 많이 있습니다.
정리를 잘하고 가독성을 높이기 위해서는 주석을 잘 사용하는 것도 방법입니다. 특이 XML 주석을 잘 작성하면 나중에 API 도큐멘트를 따로 작성할 필요도 없을 것 같네요.
여기까지 C#에서의 형 변환(Cast)과 주석(Comment)에 대한 글이었습니다.
궁금한 점이나 잘못된 점이 있으면 댓글 부탁드립니다.
'Study > C#' 카테고리의 다른 글
[C#] 09. 클래스 생성하는 방법(생성자, 소멸자) (2) | 2020.07.02 |
---|---|
[C#] 08. 함수(Method)와 오버로딩과 재귀 호출 (6) | 2020.07.01 |
[C#] 07. 배열과 리스트 (0) | 2020.06.30 |
[C#] 06. 제어문 (0) | 2020.06.29 |
[C#] 04. 연산자 (5) | 2020.06.24 |
[C#] 03. 자료형 (0) | 2020.06.23 |
[C#] 02. 프로그래밍 시작과 변수와 상수를 선언하는 방법 (3) | 2020.06.22 |
[C#] 01. Visual Studio 설치하는 방법 (2) | 2020.06.18 |