1. C# 컴파일러은 코드의 추가적인 공백들을 그냥 무시한다. 여기서 공백이란 빈칸, 캐리지 리턴,

   탭 등을 모두 포괄하는 것이다.

2. C#은 일련의 문장들로 이루어지며, 하나의 문장은 하나의 세미콜론으로 끝난다. 코드의 가동성

   을 위해서는 한 줄에 한 문장씩, 즉 세미콜론 다음에 캐리지 리턴을 넣어서 줄을 바꿔주는 것이

   좋다.

3. C#은 블럭 구조의 언어이다. 블럭은 중괄호({와 })로 둘러싸이며, 그 안에는 여러 개의 문장들이

   포함될 수도 있고, 하나도 포함되지 않을 수도 있다. 중괄호에는 세미콜론을 붙이지 않는다.

<간단한 블럭 형태>

  {

         <코드 줄1>;

         {

              <코드 줄2>;

              <코드 줄3>;

          }

         <코드 줄4>;

  }

4. 주석(Comment)

   1) 블럭 주석의 경우 주석의 시작을 "/*"로, 주석의 끝을 "*/"로 표시한다. 블럭주석은 한 줄일

      수도 있고 여러 줄들로 이루어질 수도 있다.

   2) 한 줄 짜리 주석은 "//"로 시작하며, 그 줄 끝까지 주석으로 간주된다.

   3) 특별한 주석은 "///"로 시작하는데 이는 그냥 한 줄 짜리 주석으로 간주되나, 적절한 설정을

      거치면 프로젝트를 컴파일할 때 VS가 이러한 주석 뒤에 나오는 텍스드를 추출해서 특정한

      형식의 텍스트 파일을 만들어내게 할 수 있다. (JavaDoc, DoxyGen의 자동 문서화 기능)

5. C# 코드는 C/C++ 처럼 대,소문자를 구별한다.

6. 변수

   1) 변수를 사용하기 위해서는 먼저 변수를 선언해야 한다. 변수를 선언한 다음에는 변수의 형식

      에 맞는 데이터를 변수에 저장할 수 있다.

      < 변수 선언 구문 구조 >     <형식> <이름>;

   2) 정수 형식      

형식

실제이름

허용되는 값

sbyte

System.SByte

-128과 127 사이의 정수

byte

System.Byte

0과 255 사이의 정수

short

System.Int16

-32768과 32767 사이의 정수

ushort

System.Uint16

0과 65536 사이의 정수

int

System.Int32

-2147483648과 2147483647 사이의 정수

uint

System.Uint32

0과 4294967295 사이의 정수

long

System.Int64

-와 9223372036854775807 사이의 정수

ulong

System.Uint64

0과 188446744073709551615 사이의 정수

 

   3) 단순 형식   

형식

실제이름

허용되는 값

char

System.Char

하나의 유니코드 문자. 0 ~ 65535 사이의 정수

bool

System.Boolean

부울 값. True 또는 false

string

System.String

일련의 문자들(문자열)

 

   4) 단순 형식의 활용

       static void Main(string[] args)
       {
            int myInteger;
            string myString;
            myInteger = 17;
            myString = "\"myInteger\" is";
            Console.WriteLine("{0}, {1} .", myString, myInteger);
        }

        * 출력 결과는   "myInteger" is 17 . 

        < NOTE >

         (1) 문자열 자체에 큰 따옴표를 표현하기 위해 \"라는 이스케이프 시퀀스를 사용했다.

         (2) 역슬래시는 이스케이프 시퀀스의 시작을 의미하며, 역슬래스 자체를 문자열에 포함

             시키고자 할 때에는 역슬래시 두개를 연달아 쓴 \\를 사용해야 한다.

         (3) {0}과 {1}은 실제로 출력될 값이 들어갈 자리를 의미하는 수단으로 중괄호의 숫자는

             그 부분에 치환될 값을 가진 변수가 어떤 것인지를 가리킨다. 0은 변수 목록 중 첫번째

             변수, 1은 두번째 변수이며, 변수가 더 있으면 1씩 증가시켜서 지정하면 된다.        

7. 변수 명명 규칙

   1) 변수 이름의 첫번째 문자는 하나의 글자(letter) 또는 하나의 밑줄 문자("_") 또는 앳 기호

      ("@") 여야 한다.

   2) 그 이후에는 글자, 밑줄 문자, 숫자가 올 수 있다.

   ※ 명명 관례 : PascalCase의 경우에는 모든 단어의 첫글자를 대문자로 표기하고, camelCase

                      의 경우에는 첫 단어를 모두 소문자로 쓴다.

                      마이크로소프트는 간단한 변수들에는 camelCase를 사용하고, 좀더 복잡한 형식

                      의 변수들에는 PascalCase를 사용하도록 권장하고 있다.

8. 리터럴

   1) 정수 리터럴    

형식

범주

접미어

/허용되는 값

bool

부울

없슴

True 또는 false

int, uint, long, ulong

정수

없슴

100

uint, ulong

정수

u 또는 U

100U

long, ulong

정수

l 또는 L

100L

ulong

정수

ul, uL, Ul, UL, lu, lU, Lu 또는 LU

100UL

float

실수

f 또는 F

1.5F

double

실수

없슴, d 또는 D

1.5

decimal

실수

m 또는 M

1.5M

char

문자

없슴

a, 또는 이스케이프 시퀀스

string

문자열

없슴

aa, 이스케이프 시퀀스 포함 가능

 

    2) 문자 리터럴

이스케이프 시퀀스

생성되는 문자

문자의 유니코드 값

\

작은따옴표

0x0027

\””

큰따옴표

0x0022

\\

역슬래시

0x005c

\0

널 문자

0x0000

\a

경고(삐 소리)

0x0007

\b

백스페이스

0x0008

wf

폼 피드(form feed)

0x000C

\n

새 줄(new line)

0x000A

\r

캐리지 리턴(carriage return)

0x000D

\t

수평 탭(horizontal tab)

0x0009

\v

수직 탭(vertical tab)

0x000B

 

※ 문자열 앞에 @를 붙이면 문자열을 있는 그대로 표기하는 것도 가능하다.  이 경우 양쪽 큰 따옴

   표 사이의 문자들이 형채 그대로 문자열에 포함된다.

   @"형태 그대로의 문자열."

※ 다른 형식들은 모두 값(value) 형식이지만, 문자열은 참조(reference) 형식이다. 그래서 문자열

   변수에는 null 이라는 값을 배정할 수 있다. 이는 문자열 변수가 어떠한 문자열도 참조하지 않는

   다는 뜻이다.

9. 변수의 선언과 배정

   1) 변수에 값을 배정할 때에는 = 배정 연산자를 사용한다.

   2) 변수들은 반드시 선언한 후 사용해야 한다. 선언과 배정을 동시에 하는 것도 가능하다.

      (변수의 초기화)

10. 표현식

    1) 변수와 리터럴 값들을 연산자들로 결합한 것이 표현식(expression, '식') 이다.

    2) 계산의 기본적인 구축요소이다.

    3) 연산자들의 범주

        (1) 단항 연산자(unary operator, 短項) : 하나의 피연산자에 대해 작용한다.

        (2) 이항 연산자(binary operator, 二項) : 두 개의 피연산자들에 대해 작용한다.

        (3) 삼항 연산자(ternary operator) : 세 개의 피연산들에 대해 작용한다. (선택 연산자)

11. 산술 연산자

     1) 기본 산술연산자

연산자

범주

표현식 예

결과

+

이항

var1 = var2 + var3;

var2와 var3의 합이 var1에 배정된다.

-

이항

var1 = var2 - var3;

var2에서 var3을 뺀 결과가 var1에 배정된다.

*

이항

var1 = var2 * var3;

var2에 var3을 곱한 결과가 var1에 배정된다.

/

이항

var1 = var2 / var3;

var2를 var3으로 나눈 결과가 var1에 배정된다.

%

이항

var1 = var2 % var3;

var2를 var3으로 나눈 나머지가 var1에 배정된다.

+

단항

var1 = +var2;

var2의 값이 var1에 배정된다.

-

단항

var1 = -var2;

var2에 1을 곱한 결과가 var1에 배정된다.

※ 이항 + 연산자는 string 형식의 변수들에 대해서도 적용된다.

   (예) var1 = var2 + var3;      var2와 var3에 담긴 문자열들을 결합한 결과가 var1에 배정된다.

   2) 감소 연산자

연산자

범주

표현식 예

결과

++

단항

var1 = ++var2;

var2 + 1의 값이 var1에 배정된다. var2가 1증가한다

--

단항

var1 = --var2;

var2 - 1의 값이 var1에 배정된다. var2가 1감소한다

++

단항

var1 = var2++;

var2의 값이 var1에 배정된다. var2가 1증가한다.

--

단항

var1 = var2--;

var2의 값이 var1에 배정된다. var2가 1감소한다.

 

12. 배정 연산자

연산자

범주

표현식 예

결과

=

이항

var1 = var2;

var1에 var2의 값이 배정된다.

+=

이항

var1 += var2;

var1과 var2의 합이 var1에 배정된다.

-=

이항

var1 -= var2;

var1에서 var2를 뺀 결과가 var1에 배정된다.

*=

이항

var1 *= var2;

var1에 var2를 곱한 결과가 var1에 배정된다.

/=

이항

var1 /= var2;

var1을 var2로 나눈 결과가 var1에 배정된다.

%=

이항

var1 %= var2;

var1을 var2로 나눈 나머지가 var1에 배정된다.

※ += 연산자는 String 형식에도 쓰일 수 있다.

 

13. 연산자 우선순위

우선순위

연산자

가장 높음

++, -- (변수 앞에 올 때); +, - (단항)

 

*, /, %

 

+, -

 

=, *=, /=, %=, +=, -=

가장 낮음

++, -- (변수 뒤에 올때)

※ 괄호를 이용해서 우선 순위를 명시적으로 지정할 수 있다.

 

14. 네임스페이스

     1) 한 응용 프로그램의 코드에 담긴 항목들을 다른 응용 프로그램의 것들과 식별하기 위한 수단

        으로 이름공간은 .NET Framework의 항목들을 범주별로 나누는 수단으로도 쓰인다.

     2) namespace라는 키워드를 사용하면, 중괄호로 감싼 어떠한 코드 블럭에 고유한 네임스페이

        스를 정의할 수 있다. 그 네임스페이스 안에 있는 이름들을 그 네임스페이스 밖에서 언급하

        려면 반드시 형식을 갖춘 이름을 사용해야 한다.

     3) 형식을 갖춘 이름이란 다른 네임스페이스 안의 이름에 접근하려면 그 네임스페이스의 이름

        까지 써줘야 한다는 뜻이다. 네임스페이스들이 계통적으로 구성되어 있다면 각 수준의 네임

        스페이스 이름들을 마침표(".")로 결합해서 써준다.

     4) 네임스페이스 계통구조가 복잡하다면, 어떻나 이름을 지칭하기가 매우 번거로와질 것이다.

        매번 각 수준의 네임스페이스들을 모두 써줘야 하기 때문인데 이를 위해서 using 키워드가

        있다. using 문은 자신이 들어 있는 네임스페이스에 적용되며, 그 네임스페이스에 포함된

        다른 모든 중첩된 네임스페이스들에도 적용된다.

        namespace LevelOne

        {

              using LevelTwo;

              namespace LevelTwo

              {

                    // "NameTwo" 라는 이름을 정의한다.

              }

         }

         이렇게 하면 LeveOne 네임스페이스 안의 코드는 LevelTwo.NameTwo를 그냥 NameTwo라

         고 지칭할 수 있다.

     5) System 네임스페이스는 .NET Framework의 루트 네임스페이스로, 콘솔 응용 프로그램에 필

        요한 기본적인 기능성을 모두 담고 있다.


블로그 이미지

금태양 金太陽

금태양의 세상읽기,통찰력큰사람,지식위지혜실천,과학이종교,무소유가행복,영물인김범,자유정의사랑,파워블로거,풍류선비,올마운틴MTB라이더,대금태양,웹제작 웹디자인 웹마케팅 웹기획 전문가

,