메인페이지 . 바뀐페이지 .

bs의 CS노트

1장 C#의 기초.
닷넷프레임웤
테이타 타입
변수, 식별자
메서드
연산자와 구분자
클래스
클래스란?

1장 C#의 기초.

닷넷프레임웤

닷넷프레임웤은 자바처럼 플랫폼 독립적. CLS규칙을 지켜야함.

VB.Net, C#, Managed C++, JScript.Net 등을 중간언어(IL)로 만듦 => 컴파일.
JIT가 (실행에 필요한 부분만을 로드해서) IL을 재컴파일 => 런타임.

위와같은 이유 때문에 닷넷응용프로그램은 (JIT 가 포함된) 닷넷 프레임 워크가 설치되어야만 구동됩니다. exe 파일이 단독 실행파일이지만 닷넷프레임워크에서 exe IL 을 런타임시에 순간적으로 재컴파일해서 실행을 시켜야만 때문인것 같습니다. 참고로 덧붙이자면 windows XP 에는 닷넷 프레임워크 1.1 이 기본(윈도우 공식 업데이트)이고 windows 2003 server 와 windows vista 에는 2.0이 기본으로 설정됩니다.(수동으로 설치하지 않는 이상) 아직 2.0을 기준으로 각각의 클라이언트 어플리케이션을 제작하는것은 시기상조입니다. 2.0프레임웍을 따로 설치해줘야 하기 때문입니다. 그런데 온라인게임 Dungeon and Dragons 가 닷넷 1.1 을 쓰더군요. -- uskusi
좋은 정보 감사합니다. 이런 정보는 어떻게 알고 계신가요? 다른분들도 알짜 배경지식이 많으신것 같은데요. 어떤 식으로 공부를 하고 정보를 습득하시는지 궁금합니다. -- bs

확장자에 상관없이 csc.exe로 컴파일. 결과물은 (옵션없을때) 파일이름.exe(IL)

using System; 없으면 전처리기 지시문이 필요하다고 뜸. 전처리기?

C# 전처리기 찾다가 보니 이런게 나온다.
#define, #if, #else, #elf, #endif, #undef, #warning, #error, #line, #region, #endregion
주로 디버그 할때 쓰인다고 함.

아! using System안하면 데이터 선언할때 System.int 처럼 선언을 해야하는군.

using System의 여부와는 상관없이 System.Int32와 int는 같은 겁니다. System.Int32는 .NET에 정의된 명칭이고 int는 C#언어에 정의된 명칭입니다. 참고: 1장 6절 (무슨 성경같네요. -.-;) -- HuidaeCho
엇. 그러네요. using System;없으면 Console.WriteLine에 System을 붙여줘야 해서 다른 것도 다 붙여야 하는줄 알았습니다; 시작은 어설프나 그 끝은 창대하기를 ㅠㅜ;

테이타 타입

데이타 타입은 value와 reference로 분류.
value는 new연산자 없어도 자동으로 붙어 쓰임.
클래스 계열은 new 꼭 필요. 클래스 계열이 뭘까? 레퍼런스타입?

하나의 데이터만 넣는 데이터타입 => simple type
S는 signed. U는 unsigned(0,양수).

사용자가 정의한 데이터타입 => 클래스.
클래스는 reference 데이타타입을 만든다. value와 reference의 차이로 구조체와 클래스 구분.

char a = "1"; // string형식을 임의로 char로 바꿀수 없다고 에러.
string으로 선언하니까 먹힌다. 교재에 없는 형식??

"string + 숫자"는 숫자를 문자열로 이어붙이기로 인식
"char + 숫자"는 아스키코드 더하기 숫자 계산으로 인식.
이런건 C나 다른 언어의 문법처리와 같은 걸까..

변수, 식별자

이름짓기. 파스칼케이싱. 방법은 알겠으나 적절히 명명해주는건 내겐 항상 어려운 문제;
언어능력이 딸리는 걸까. 위키제목도 잘 못 정하겠다. => 고수가 되지 못하는 이유?- -;

변수에 값을 할당할 때 long은 l, float은 f, double은 d, decimal은 m을 붙인다.

문자로 소리내는거 \a 경의롭지 않다.

메서드

메서드(=함수?)도 변수다!! 매개변수는 메서드 내부에서 생성된다.

연산자와 구분자

xor = ^

Console.ReadLine(); 스트링입력. Console.WriteLine(""); 찍고 개행.

for(i=0;i<10;i++){Console.WriteLine(i);} i는 블럭 끝에서 증가 된다!!! 헥갈렸었는데..

++i도 결과값이 같네 -_-;

클래스

클래스란?

데이터타입을 만드는 것.

상수 < 변수 < 데이터타입 < 클래스.
클래스는 참조타입, 구조체(=메서드? 함수?)는 값타입.

메서드=함수.
클래스 = 변수 + 메서드(함수).
구조체와 클래스의 차이는? 멤버의 속성을 지정할 수 있고 없고의 차이?
구조체는 메서드(함수)를 포함하지 않는다.

...

다시 훑어보려니 눈에 확 안들어 온다. 이건 정리가 아니야 ㅡㅜ;

편집 . 바뀐부분 . 역링크 .
2024년 3월 25일 오후 2:34:02 . XHTML 1.1 . CSS 3 . 용쓴다. !
이 사이트의 모든 문서는 크리에이티브 커먼즈 라이센스를 따릅니다.