using // C#의 키워드로 무엇을 사용하겠다고 컴파일러에게 알리는 역활을 합니다.
System // System 네임스페이스안의 클래스를 사용하겠다고 컴파일러에게 알리는 역활을 합니다.
; // 컴파일러에게 문장의 끝을 알리는 역활을 합니다.
C#의 키워드
using
네임스페이스 // 클래스를 관리하기 위한 논리영역-클래스등으로 구성이 된다
데이터 형식
값형식 참조형식의 분류
기본 데이터 형식과 복합 데이터 형식의 분류
변수
C# 참조(
C# 키워드
형식(
값 형식
bool
byte
char
decimal
double
enum
float
int // http://msdn.microsoft.com/ko-kr/library/5kzh1b5w(v=vs.100).aspx
long
sbyte
short
struct
uint
ulong
ushort
참조 형식
class // http://msdn.microsoft.com/ko-kr/library/0b0thckt(v=vs.100).aspx
delegate
dynamic
interface
object
string // http://msdn.microsoft.com/ko-kr/library/362314fe(v=vs.100).aspx
void // http://msdn.microsoft.com/ko-kr/library/yah0tteb(v=vs.100).aspx
var
형식 참조 표
기본 제공 형식 표(C# 참조)
정수 계열 형식 표(C# 참조)
부동 소수점 형식 표(C# 참조)
기본값 표(C# 참조)
값 형식 표(C# 참조)
암시적 숫자 변환 표(C# 참조)
명시적 숫자 변환 표(C# 참조)
숫자 결과 형식 지정 표(C# 참조)
)
한정자(
액세스 한정자
액세스 가능성 수준
액세스 가능 도메인
액세스 가능성 수준 사용에 대한 제한
internal
private // http://msdn.microsoft.com/ko-kr/library/st6sy9xe(v=vs.100).aspx
protected
public // http://msdn.microsoft.com/ko-kr/library/yzh058ae(v=vs.100).aspx
abstract
const
event
extern
in(제네릭 한정자)
out(제네릭 한정자)
override
readonly
sealed
static // http://msdn.microsoft.com/ko-kr/library/98f28cdx(v=vs.100).aspx
unsafe
virtual
volatile
)
문 키워드(
선택문
if-else // http://msdn.microsoft.com/ko-kr/library/5011f09h(v=vs.100).aspx
switch
반복문
do
for
foreach, in // http://msdn.microsoft.com/ko-kr/library/ttw7t8t6(v=vs.100).aspx
while
점프문
break
continue
goto
return
예외 처리문
throw
try-catch
try-finally
try-catch-finally
Checked 및 Unchecked
checked
unchecked
fixed 문
lock 문
)
메서드 매개 변수(
params
ref
out
out 매개 변수 한정자
)
네임스페이스 키워드(
namespace
using
using 지시문(C# 참조)
using 문(C# 참조)
extern alias
)
연산자 키워드(
as
is
new
new 연산자(C# 참조)
new 한정자(C# 참조)
new 제약 조건(C# 참조)
sizeof
typeof
stackalloc
)
변환 키워드(
explicit
implicit
operator
)
액세스 키워드(
base
this
)
리터럴 키워드(
null
true
false
default
)
컨텍스트 키워드(
add
get
global
부분(형식)
부분(메서드)
remove
set
where(제네릭 형식 제약 조건)
value
yield
)
쿼리 키워드(
from 절
where 절
select 절
group 절
into
orderby 절
join 절
let 절
ascending
descending
on
equals
by
in
)
C# 연산자(
[] 연산자 // http://msdn.microsoft.com/ko-kr/library/a3hd7ste(v=vs.100).aspx
() 연산자 // http://msdn.microsoft.com/ko-kr/library/0z4503sa(v=vs.100).aspx
. 연산자 // http://msdn.microsoft.com/ko-kr/library/6zhxzbds(v=vs.100).aspx
:: 연산자
+ 연산자 // http://msdn.microsoft.com/ko-kr/library/k1a63xkz(v=vs.100).aspx
- 연산자
* 연산자
/ 연산자
% 연산자
& 연산자
| 연산자
^ 연산자
! 연산자
~ 연산자
= 연산자
< 연산자
> 연산자
?: 연산자 // http://msdn.microsoft.com/ko-kr/library/ty67wk28(v=vs.100).aspx
++ 연산자 // http://msdn.microsoft.com/ko-kr/library/36x43w8w(v=vs.100).aspx
-- 연산자
&& 연산자
|| 연산자
<< 연산자
>> 연산자
== 연산자
!= 연산자
<= 연산자
>= 연산자
+= 연산자 // http://msdn.microsoft.com/ko-kr/library/sa7629ew(v=vs.100).aspx
-= 연산자
*= 연산자
/= 연산자
%= 연산자
&= 연산자
|= 연산자
^= 연산자
<<= 연산자
>>= 연산자
-> 연산자
?? 연산자
=> 연산자
)
C# 전처리기 지시문(
#if
#else
#elif
#endif
#define
#undef
#warning
#error
#line
#region
#endregion
#pragma
#pragma warning
#pragma checksum
)
C# 컴파일러 옵션
C# 컴파일러 오류
C# 언어 사양
)
메소드의 정의
접근권한자 static 리턴타입 메소드이름 (인자리스트)
{
메소드본문;
}
컬러색상 옵션으로 생략이 가능합니다.
접근권한자를 명시하지 않은 경우 기본적으로 private가 됩니다.
접근제한자(access modifier) : 각각의 데이형에 대한 접근 허용정도를 나타냅니다.
public : 모든 접근을 가능
protected : 상속 관계에서만 접근을 가능
private :자신의 클래스에서만 접근을 가능
internal : 같은 컴파일 유닛안에 있는 다른 데이터형들에서만 접근이 가능
접근권한자는 메소드 외에 변수 클래스등에도 사용이 됩니다.
static : 클래스 멤버를 선언하는 형식으로 C# 프로그램에서의 시작점(Entry Point) 을 지칭합니다.
static 메서드로 선언되어 있기 때문에 인스턴스가 생성되지 않더라도 항상 프로그램이 실행되는 것이다.
리터타입
void : 메소드가 실행 후 리턴되는 값이 없음.
예제
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication3
{
class HelloClass
{
public HelloClass()
{
Console.WriteLine("Default ctor called");
}
public HelloClass(int x, int y)
{
Console.WriteLine("Custom ctor called");
intX = x;
intY = y;
}
public int intX, intY;
public static int Main(string[] args)
{
HelloClass c1 = new HelloClass();
Console.WriteLine("c1.intX = {0}\nc1.intY = {1}\n", c1.intX, c1.intY);
HelloClass c2;
c2 = new HelloClass(100, 200);
Console.WriteLine("c2.intX = {0}\nc2.intY = {1}\n", c2.intX, c2.intY);
return 0;
}
}
}
'Revit > Revit API' 카테고리의 다른 글
[레빗 API 시작하기] Revit Intro Lab4 - Element Modification (0) | 2013.12.05 |
---|---|
[레빗 API 시작하기] Revit Intro Lab3 - Element Filtering (2) | 2013.11.18 |
[레빗 API 시작하기] Lab2-DbElement (0) | 2013.10.31 |
[레빗 API 시작하기] Lab1-HelloWorld (0) | 2013.10.13 |
AutoCAD .NET Developer's Guide (0) | 2012.08.16 |