|
예약어 | 구조체형식 | 크기 (Bit) | 범위 |
sbyte | System.Sbyte | 8 | -128~127 |
byte | System.Byte | 8 | 0~255 |
short | System.Int16 | 16 | -32,768~32,767 |
ushort | System.UInt16 | 16 | 0~65,535 |
int | System.Int32 | 32 | -2,147,483,648 ~2,147,483,647 |
uint | Systen.UInt32 | 32 | 0~4,294,967,295 |
long | System.Int64 | 64 | -(2^63) ~ 2^63-1 |
ulong | System.UInt64 | 64 | 0~ 2^64-1 |
실수형, 기타
예약어 | 구조체형식 | 크기 (Bit) | 범위 |
실수형 | |||
float | System.Single | 32 | 1.5x10^-46 ~3.4x10^38 |
double | System.Double | 64 | 5.0x10^-324 ~1.7x10^308 |
decimal | System.Decimal | 128 | 1.0x10^-28 ~7.9x10^28 |
기타 | |||
char | System.UInt16 | 16 | 유니코드 1 자 |
bool | System.Int32 | 1 | 0 또는 1 |
Boolean 형
boolean type 이 가질 수 있는 값은 true 와 false 입니다. 예 ) bool b = true --> true 는 1 과는 다르며 , 마찬가지로 false 는 0 과는 다릅니다. (C 에서는 TRUE, FALSE 를 #define 을 통해 정의하여 사용 했었습니다.. 정수를 암묵적으로 boolean 형으로 사용한 것이죠.), true 와 false 로 산술 연산을 할 수 없으며 오로지 논리 연산자를 가진 수식에 대해서만 사용가능 합니다.
변수 선언 하는 방법
int itemCount;
int itemCount , employeNumber; ( Possible to declare Multiple variables in one)
int employeeNumber; employeeNumber = 23;
int employeeNumber= 23;
또한 Charater형은 다음과 같이 선언 합니다. char middleInitial= ‘J'; C#은 유니코드를 사용하며 char형은 한 문자를 저장하는데 사용 합니다.
Itemcount = Itemcount + 40; --> ItemCount += 40; --> 이건 다아시죠...
연산자(Operator)
구분 | 연산자 |
기본 연산자 | (x), ., f(x), a[x], x++, x--, new, typeof, sizeof, checked, unchecked |
단항 연산자 | +, -, !, ~, ++x, --x |
산술 연산자 | +, -, *, /, % |
쉬프트 연산자 | <><, >> |
비교 연산자 | <, >, <=, >=, is |
비트 연산자 | &, ^, | |
논리 연산자 | &&, || |
조건 연산자 | ?: |
할당 연산자 | =, *=, /=, %=, +=, -=, <><=, >>=, &=, ^=, |= |
[isOperator 예제] is연산자는 런타임시 주어진 타입과 객체가 서로 호환이 되는지를 검사하는 연산자 입니다. 또한 as 연산자는 Type을 변환하는데 변환이 되면 변환 시키고 변환이 안되면 NULL을 돌려 줍니다...(참고하세요~)
//is 연산자 예제
using System;
class isOperator {
static void Main() {
//C#은 모든 타입을 객체로 처리한다.
//System.Int32의 BaseType은 System.ValueType이다.
//System.Object > System.ValueType > System.Int32
int i=0;
object o;
Console.WriteLine("i is int? {0}", i is int);
Console.WriteLine("i is long? {0}", i is long);
if (i is object) {
o = i;
Console.WriteLine("o의 Base Type은 " + o.GetType().BaseType);
}
}
}
---------------------------------------------
모든 Object(객체)들이 가지는 메소드
---------------------------------------------
객체 지향 프로그래밍을 하는것은 객체를 많이 다른다는 이야기 입니다. 이번에는 참고로 모든 객체들이 가지고 있는 기본적인 메소드가 어떤것이 있는지 필요한것만 보도록 하겠습니다. 닷넷에서는 System.Object가 모든 객체의 최상위 클래스 입니다. (물론 자바에선 java.lang.Object 입니다.)
메소드명 | 설명 |
bool Equals() | 같은 객체인지 비교, 동일한 메모리 공간을 차지해야... |
int GetHashCode() | 해쉬값을 얻음 |
Type GetType() | Type 에 관한 정보(형식 정보)를 돌려 줍니다. |
string ToString() | 객체를 대표하는 문자열 반환, 일반적으로 문자열로 변환한다고 보면 됩니다. |