닷넷프레임웤은 자바처럼 플랫폼 독립적. CLS규칙을 지켜야함.
VB.Net, C#, Managed C++, JScript.Net 등을 중간언어(IL)로 만듦 => 컴파일.
JIT가 (실행에 필요한 부분만을 로드해서) IL을 재컴파일 => 런타임.
확장자에 상관없이 csc.exe로 컴파일. 결과물은 (옵션없을때) 파일이름.exe(IL)
using System; 없으면 전처리기 지시문이 필요하다고 뜸. 전처리기?
C# 전처리기 찾다가 보니 이런게 나온다.
#define, #if, #else, #elf, #endif, #undef, #warning, #error, #line, #region, #endregion
주로 디버그 할때 쓰인다고 함.
아! using System안하면 데이터 선언할때 System.int 처럼 선언을 해야하는군.
데이타 타입은 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도 결과값이 같네 -_-;
데이터타입을 만드는 것.
상수 < 변수 < 데이터타입 < 클래스.
클래스는 참조타입, 구조체(=메서드? 함수?)는 값타입.
메서드=함수.
클래스 = 변수 + 메서드(함수).
구조체와 클래스의 차이는? 멤버의 속성을 지정할 수 있고 없고의 차이?
구조체는 메서드(함수)를 포함하지 않는다.
...
다시 훑어보려니 눈에 확 안들어 온다. 이건 정리가 아니야 ㅡㅜ;