WPF 공부하기 23 - checked, unchecked 사용

 

이번글은 checked, unchecked 사용에 대해서 글을 올리겠습니다.

 

 

 

checked, unchecked 사용

 

- 모든형 변환에 checked, unchecked를 붙이는 것은 낭비적인 일이기 때문에, 컴파일러 옵션에서

   정해줄 수 있습니다.

 

csc /unchecked SourceCode.cs

csc/checked SourceCode.cs

 

- 소스코드 내부에서checked, unchecked를 명시해 놓은 이외의 형변환에 디폴트로 적용되게 됩니다.

 

- 객체의 명시적 형 변환은 연산자 오버로딩을 통해 프로그래머가 정의할 수 있습니다.

 

 

 

 

 

WPF 공부하기 23 - checked, unchecked 사용

WPF공부하기 22 - checked 형변환

 

WPF공부하기 22번째글입니다.

21번째글에서는 형변환에 대해서 글을 올렸는데요.

이번글에서는 checked 형변환에 대해서 글을 올리겠습니다.

지난글을 보고싶으시다면 아래 그림을 클릭해주세요 ^^

 

 

 

Checked 형변환

 

- WPF공부하기 21번째글인 형변환 예제에서 int를 short로 묵시적 형 변환 할 수 없고, 명시적으로 변환 하면 overflow가 발생합니다. 따라서 형변환 하기 전에 int값을 미리 검사해야 할 것입니다.

(프로그래머에게 엄청난 스트레스가 될듯합니다..)

 

- C#에서는 checked/unchecked 키워드를 제공합니다. checked 키워드 내부에서 overflow가 발생했는지를 검사하여 예외를 발생시킵니다.

 

- 간단한 사용예

short value4= checked((short) value3);

 

 

checked 형변환 예제와 설명을 드리겠습니다.

 

using System;

class TypeCast03

{

public static void Main()

{

   in value3 = 50000;

  

   try {

short value4 = checked ((short) value3);    //<-(1)

  }  catch (Exception  e){                        //<-(2)

 Console.WriteLine("예외  :  {0}", e.StackTrace);  //<-(3)

 

  }

}

}

 

checked 형변환 설명입니다.

 

(1)의 설명

(1)이 바로 checked형변환입니다. 40000은 short에 들어가기엔 너무 큰 수이기 때문에 overflow예외가 발생합니다.

 

(2)의 설명

(2)overflow 예외를 catch하는 부분인데, exception handling에서 자세히 다룰 예정이며, 단지 checked 형변환이 예외를 발생시킨다는 것만 알아두면됩니다.

 

(3)의 설명

(3)의 결과로부터 예외가 발생하였음을 확인 할 수 있습니다.

 

 

 

 

WPF공부하기 22 - checked 형변환

 

 

 

WPF 공부하기 21 - 형변환

 

WPF 공부하기 21번째 글입니다.

오늘하루도 훌쩍지나갔군요..

하루하루 후회없이 살고 계신가요??

아마 제 티스토리에 오셔서 공부하시는 분들은 하루하루 후회없이 열심히 공부하시는 것같아요 ㅋㅋ

(물론.. 제생각이지만 ..하하하)

그렇다면 이번글도 파이팅해볼까요?!!!

아자자!!

 

 

 

형변환 (Type Casting)

 

- 변수에 담겨진 값을 다른 형식으로 변환하는 연산

 

- int i=j (j가 short일때)를 수행하면, j의 값은 int로 형변환 되어 i에 저장되어야합니다.

 

- short를 int로 바꾸는 것은 문제의 소지가 없습니다. int를 short로 바꾸는 것은 오버플로우를 야기할 가능성이 있습니다. 이 때는 원하는 값으로 형 변환 않을 가능성이 큽니다.

 

- 형 변환은 묵시적 방법(coercion)과 명시적(casting)방법이 있습니다.

 

형변환 예제를 보시면서 설명드리겠습니다.

 

using System;

 

class TypeCast03

{

public static void Main()

{

short value1 = 100;

int     value2 = value1;                //  <- (1)

int     value3 = 50000;  

//short value4 = value3;            //   <- (2)

short value4 = (short) value3;    //   <- (3)

 

Console.WriteLine("Short : {0}",value4;        //   <-(4)

 

}

}

 

형변환 예제 설명

 

(1)의 설명

(1) 방법이 바로 묵시적 형변환입니다. short형을 int 형으로 묵시적으로 바꾸어줍니다.

 

(2)의 설명

(2) 묵시적 방법으로 int를 short로 바꾸는 것은 에러입니다.

오버플로우의 가능성이 있기 때문입니다. 그러므로 명시적 형변환을 사용하여야 합니다.

 

(3)의 설명

(3) int를 명시적으로 short로 형변환 하였습니다. 이 때 에러는 발생하지 않습니다.

하지만 분명 너무 큰 값을 short로 변환하였기 때문에 문제가 있을 것입니다.

 

(4)의 설명

(4)에서 결과 값은 -15536이 나옵니다. 즉 오버플로우로 인하여 정상적으로 형변환 되지 않았다는 의미가 됩니다.

 

 

 

WPF 공부하기 21 - 형변환

WPF공부하기 21 - 변수 작명법

 

이번 21번째 WPF공부하기 글은 변수 작명법에 대해서 올리겠습니다.

권고사항으로 안내해드리는거니 확인해보세요 ^^

 

 

 오늘의 명언

- 랄프 왈도 에머슨-

 

 

변수 작명법

 

- 특수문자사용하지 말것. _를 첫글자로 하는 변수명도 삼가도록 해야합니다.

 

- 첫글자를 대문자로 사용하지 않도록 해야합니다. 메소드나 클래스 또는 프로퍼티와 혼동하기 쉽습니다.

 

- 여러단어로 구성된 변수는 첫글자는 소문자로 나머지 단어의 첫머리는 대문자로 하는게 좋습니다.

 

- 영문 알파벳만으로 변수명을 짓도록 하는게 좋습니다.

 

- 변수의 정확한 역할을 이름에 명시하는게 좋습니다. x, temp, boo 이런식의 이름은 복잡한 프로그램의 경우 가독성을 떨어뜨립니다.

 

 

 

 

WPF공부하기 21 - 변수 작명법

 

 

 

 

WPF공부하기 20  - 예약어 목록

 

 

20번째 WPF공부하기 글입니다.

이번 시간에는 예약어 목록을 정리해봤습니다. 확인해보세요 ^0^

예약어표를 두개로 나눠서 정리해봤어요 (보기 편하시고 두개로나눴어요..하핫 )

 

예약어 목록

 

 abstract

as 

base 

bool 

break 

byte 

case 

 catch

char 

checked 

class 

const 

continue 

decimal 

 default

delegate 

do 

 double

 else

enum 

 event

 explicit

 extern

 false

 finally

 fixe

 float

 for

 foreach

 goto

 if

 implicit

in 

 int

 interface

 internal

 is

 lock

long 

namespace 

 new

null 

 

 object

 operator

out 

 override

 params

private

protected

 public

 readonly

 ref

 return

 sbyte

sealed

short

 sizeof

 stackalloc

 static

 string

 struct

switch

this

 throw

 true

 try

 typeof

 unit

ulong

unchecked

 unsafe

 ushort

 using

 virtual

 void

while

'

 ~

 $

 &

 ☆

 

 

 

 

 

WPF공부하기 20  - 예약어 목록

'닷넷 > Wpf프로그래밍' 카테고리의 다른 글

WPF 공부하기 21 - 형변환  (0) 2014.06.24
WPF공부하기 21 - 변수 작명법  (0) 2014.06.24
WPF공부하기 19 - 변수 (Variable)  (0) 2014.06.24
WPF공부하기 18 - struct  (0) 2014.06.23
WPF공부하기17 - enum type  (0) 2014.06.23
WPF공부하기 19 - 변수 (Variable)

 

WPF공부하기 19번째글입니다. 변수에 대하여 알아보도록하겠습니다.^^

 

변수 (Variable)

- 변수의 선언 방법은 C/C++에서의 방법과 같습니다.

 

- 변수는 변화할 수 있다는 의미입니다. 변수가 담고 있는 값이 변한다는 뜻입니다.

   i=j+1; 라는 문장에서 i가 변수라면 i값은 변합니다.

 

- 변수선언방법은 다음과 같이 다양합니다.

- 변수는 사용전에 반드시 초기화되어야합니다.

 

int a;

int x, y, z;

System.Int32 b, c;

int a1=1, a2=2;

int b1, b2=2

 

변수이름에 대해서 간단하게 알아보겠습니다.

- 변수이름짓는 규칙

* 문자, 숫자, _를 사용할 수 있습니다.

* 숫자로 시작할 수는 없습니다.

* 예약단어를 변수명으로 할 수 없습니다.

    : int가 예약이면 intB라는 변수는 사용가능합니다.

* 예약특수 문자는 사용할 수 없습니다. 이것은 주로 연산자로 사용되기 때문입니다.

   : &가 예약문자 이므로 a&b는 사용불가입니다.

     이런경우 a와 b가 서로 다른 변수인 것 처럼 다루어 집니다.

 

 

 

WPF공부하기 19 - 변수 (Variable)

 

 

 

WPF공부하기 18 - struct

 

이번 WPF공부하기 18번째는 struct에 대하여 글을 쓸거에요!

오늘의 명언 한번 보고 가실까요?!

 

 

당신은 지체할 수도 있지만 시간은 그러하지 않을 것이다.

 (벤자민 프랭클린)

 

 

struct

 

- 여러가지 형식의 자료들을 모아둔 틀입니다.

   C#에서는 메소드가 없는 클래스라고 할 수 있습니다.

 

- 구조체의 정의 방법입니다.

 

- 예를들어 보시겠습니다.

 

struct People

{

public string name;

public int age;

}

 

-구조체의 사용법

*  위 구조체의 age를 읽거나 쓰고 싶을 때에는 People.age를 씁니다.

 


 

struct 의 예제를 보시겠습니다.

 

using System;

 

struct People {

public string nave;            // <-(1)

 

}

class StructTest{

public static void Main() {

People he;                //<-(2)

he.name="kym";        //<-(3)

Console.WriteLine("이름: {0}",he.name);    //<-(4)

Console.WriteLine("나이: {0}",he.age);

}

}

 

struct의 설명입니다.

 

(1)의 설명

이름과 나이로 구성된 People이란 이름의 struct사용자 정의 형식입니다.

 

(2)의 설명

int x; 하는 것처럼 People he; 라고 쓰면 됩니다.

이때 he를 초기화 해 줄 필요는 없습니다. he 내부의 요소들을 각각 초기화 해줍니다.

 

(3)(4)의 설명

struct 내부의 맴버들에게 접근하기 위해서는 he.age처럼 .(dot)연산자를 사용합니다.

 

 

 

 

 

WPF공부하기 18 - struct

WPF공부하기 17 - enum type

 

WPF공부하기 17번째글입니다. 오늘하루도 아자아자!!

 

Enum Type

 

enum (enumeration, 열거)

용법 : eunm 변수명 {값, 값, ... }

예1 : enum Grade {A, B, C, D, F}

예2 : enum Grade {A=4, B='3', C=2, D=1, F=0}

 

 

예1)의 경우, A, B,... 등은 내부적으로는 0,1,...같은 정수로 매핑되어 있습니다.

사용자가 예2) 처럼 직접 매핑할 수도 있습니다.

 

enum Grade 형식의 변수는 A, B, C, D, F 만을 값으로 가질 수 있습니다.

(boolean 변수가 true, false만 가질 수 있는 것과 비슷합니다.)

 

예) enum

 

using System;

 

class Test

{

public enum MyBool

{ T='a' , F=100 };

public static void Main()

{

MyBool a = MyBool.T;

 

Console.WriteLine(a);

Console.WriteLine(MyBool.F);

Console.WriteLine((int) a);

}

}

 

enum 예제 설명입니다.

 

 

 

 

 

 

 

 

 

여기까지 WPF공부하기 17번째 글을 마무리하겠습니다. ^-^

 

ORACLEJAVA it 공부하자 티스토리 많이 애용해주세용 ^^

WPF공부하기17 - enum type

 

 

 

 

 

 

+ Recent posts