자료형
ㅇ 값형 : 문자, 부울, 숫자, 열거, 구조체 형
ㅇ 참조형 : 클래스, 인터페이스, 배열, 델리게이트
연산자
ㅇ 표준 C언어와 유사 : 산술, 관계, 논리 증가 및 감소, 비트, 조건, 배정 연산자 등
ㅇ 형 검사 연산자
- is 연산자 = 호환 가능 여부 검사
- as 연산자 = 지정한 형으로 변환
배열의 특징
배열 : 같은 형을 갖는 여러 개의 값을 저장할 수 있는 자료 구조 //객체 취급 및 배열혈 제공
배열 변수 선언
- int[] vector; //명시적으로 나타내야함
- short[,] matric; //콤마를 넣어 차원을 명시적으로 선언
- long[][] arrayOfArray;
- object[] myArray1, myArray2 //콤마로 구분하여 두 개이상의 배열을 나열하여 선언
스트링의 특징
- C#에서 스트링은 객체
- System_string 클래스의 객체
- C#의 string형은 string 클래스의 alias
스트링 상수 : 이중 인용부호(")로 묶인 문자들의 나영 (예 : "I am a string.")
스트링 초기화 : string s = "Hello";
string s = new string("Hello");
스트링 연결 : + 연산자 : concatenation operator
string s = "Hello";
s += "World";
=> s : Hello World
C#의 주요 특징
클래스
ex) 자동차
상태 : 색상, 시동, 상태, 주행 거리 --> 필드 계통 : 상수정의, 필드, 이벤트
행동 : 시동걸기, 기어넣기, 핸들 올리기, 브레이크 밟기 --> 메소드, 생성자, 소멸자, 프로퍼티, 인덱서, 연산자 중복
프로퍼티 : 클래스에서 정보은닉을 위한 private필드를 형식적으로 다루는 일종의 메소드
클래스 : 같은 유형을 가진 객체들의 공통유형, 클래스는 설계도 객체는 제품으로 비유됨
델리게이트 : 메소드를 참조하기 위한 방법, 주로 이벤트와 스레드 처리를 위한 기법
이벤트 : 사용자 행동에 의해 발생하는 사건 또는 어떤 사건이 발생한 것을 알리기 위해 보내는 메시지
스레드 : 시작, 실행, 종료의 순서를 가진 제어의 흐름, 프로그램 내에서만 실행 가능
제네릭
using System;
using System.Threading;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace ThreadApp //네임스페이스
{
class ThreadApp : Form //클래스
{
static void ThreadBody() //ThreadBody == 메소드
{
// Console.WriteLine("In the thread Body ...");
for(int i = 0; i < 5; i++)
{
Console.WriteLine(DateTime.Now.Second+ " : " + i);
Thread.Sleep(1000);
}
}
static void Main(string[] args)
{
ThreadStart ts = new ThreadStart(ThreadBody); //ThreadStart == 델리게이트
Thread t = new Thread(ts); //ts(델리게이트)를 threadbody와 연결시켜 스레드 t에 넣음
Console.WriteLine("*** Start of Main");
t.Start(); //이 부분 이후가 실행됨
Console.WriteLine("*** End of Main");
}
}
}