반응형

생성자에서 다른 생성자 호출하는 방법

Java, C# 등에서 클래스를 생성할 때,

인수별로 여러 개의 생성자를 만들 수 있다.

예를 들어, 다음과 같은 식이다.

Class A {

public A() {

.....

}


public A(int param1) {

.....

}


public A(int param1, param2) {

.....

}

}


이 때, 생성자에서 다른 생성자를 호출하는 경우, this라는 키워드를 사용하는데,

Java와 C#의 문법이 조금 다르다.


1) 먼저, Java문법을 살펴보면, 다음과 같다.

Class A {

public A() {

this(10);

.....

}


public A(int param1) {

this(param1, 20);

.....

}


public A(int param1, param2) {

.....

}

}


2) 반면, C#에서는 다음과 같이 해야 한다.

Class A {

public A() : this(10) {

.....

}


public A(int param1) : this(param1, 20) {

.....

}


public A(int param1, param2) {

.....

}

}


반응형
반응형

C# Tips!! 한글과 영어가 섞인 경우의 Format 정렬

 

C#에서 문자열 출력시, 한글 한글자는 영어 2글자 분의 자리를 차지한다.

따라서 일반적인 정렬 방식을 쓰게 되면, 한글과 영어의 차이 때문에 정렬이 안된다.

이럴 때는 바이트수를 계산해서 출력해 주어야 자리수를 맞출 수 있다.

가령, 한글이냐 영어냐에 상관 없이 영어 열자리 간격에 맞추어 오른쪽 정렬로 출력하려면,

다음과 같이 하면 된다.


String strToPrint = "출력할 문자열";

int padLen = 10 - Encoding.Default.GetBytes(strToPrint).Length;

Console.WriteLine("{0}", "".PadLeft(padLen) + strToPrint);


또는, 다음과 같은 방법도 있다.

String strToPrint = "출력할 문자열";

byte[] byte1 = Encoding.Default.GetBytes(strToPrint  + "          ");

byte[] byte2 = new byte[10];

Array.Copy(byte1, byte2, 10);

Console.WriteLine("{0}", Encoding.Default.GetString(byte2));

반응형
반응형

SQL Development

프로젝트를 하면서 새로 알게 된 지식들을 이곳에 정리할 생각이다.


첫번째로, Oracle DB에서의 UPDATE문과 SELECT문의 결합에 관한 내용이다.

TableA를 기초로 하여 TableB를 업데이트하는 경우에

다음과 같은 쿼리문을 사용할 수 있다.


UPDATE

(

SELECT A.col_1 AS A_col_1,

A.col_2 AS A_col_2,

B.col_1 AS B_col_1,

B.col_2 AS B_col_2

FROM TableA A, TableB B

WHERE A.col_3 = B.col_3

AND A.col_4=[value]

)

SET B_col_1 = A_col_1,

B_col_2 = A_col_2



반응형

+ Recent posts