// foreach 를 사용하면 배열의 크기를 알아낼 필요가 없다.
public static void Main(string[] args)
{
foreach(string s in args)
{
Console.WriteLine("Arg : {0} ", s);
}
}
객체 생성하기 : 생성자
// 에러! 할당되지 않은 지역 변수 사용! 'new'를 사용
HelloClass c1;
c1.SayHi();
// 한 줄의 코드에서 새로운 객체 선언하고 생성하거나..
HelloClass c1 = new HelloClass();
// 또는 두줄
HelloClass c2;
c2 = new HelloClass();
'new'키워드는 지정된 객체에 필요한 정확한 바이트 수를 할당해서 관리 힙에 충분한
메모리를 확보하는 일을 담당한다.
앞의 코드 예에서 할당된 두 객체 (c1, c2)는 HelloClass 형식의 고유한 인스턴스를 가리킨다.
c#의 객체 변수는 사실 객체가 아니고 메모리에 있는 객체에 대한 참조자이다.
c# 멤버 변수 초기화
c#에서는 멤버 변수를 선언하면서 동시에 초기 값을 할당할 수 있다.(c++과 같은 다른 언어에서는 이런방식의
멤버 초기화가 불가능하다)
// 이 방법은 기본 값이 아닌 다른 값을 할당 하고
// 각 생성자에 동일한 초기화 코드를 적기 싫은 경유에 유용하다.
class Test
{
private int myInt = 9;
private string myStr = "My initial value.";
private HotRod viper = new HotRod(200, "Chuchy", Color.ReD);
...
}
Console 클래스를 이용한 기본 입출력
Console은 System 네임스페이스에 정의 되어 있는 형식이다.
System.Console의 주요 메소드는 Read(), ReadLine(), Write(), WriteLine() 등이 있는데,
이들은 모두 static 으로 정의되어 있다.
Write() 메소드는 텍스트를 캐리지 리턴 없이 출력 스트림으로 내보낸다.
Read()를 이용하면 입력 스트림으로부터 하나의 문자를 받아 올 수 있다.
텍스트 출력 포맷 지정
{0}, {1}와 같은 토큰
//문자열 포맷하기...
Console.WriteLine("Int is : {0} \ nFloat is : {1} \ nYou Are : {2} ",
theInt, theFloat, myIO.ToString());
WriteLine()의 첫번째 매개변수는 {0}, {1},{2}와 같은 포맷 지정자가 포함된
포맷 문자열을 나타낸다. WriteLine()의 나머지 매개변수는 각각의 포맷 지정자에 들어갈 값들이다
또한 WriteLine()은 객체 배열을 포맷 지정자로 지정할 수 있도록 오버로드 되어 있다.
// 포맷 지정자를 객체 배열로 채운다.
object[] stuff = {"Hello", 20.9, 1, "There", "83", 99.933} ;
Console.WriteLine("The Stuff : {0}, {1}, {2}, {3}, {4}, {5} ", stuff);
하나의 포맷 지정자를 통해 해당 문자열 안에 반복해서 쓸 수 있다.
예를 들어 , "9Number9Number9"와 같은 문자열을 만들고 싶은 경우
Console.WriteLine("{0} Number{0}Number{0}", 9);
이 글과 관련있는 글을 자동검색한 결과입니다 [?]