레이블이 C#인 게시물을 표시합니다. 모든 게시물 표시
레이블이 C#인 게시물을 표시합니다. 모든 게시물 표시

2009년 5월 21일 목요일

C# Label의 갯수만큼 배열선언

Label 에 배열 선언

Label 의 갯수만큼 올려놓고

다음과 같이 사용하면 된다. 

Label[] lbl = new Label[] { label1, label2, label3, label4, 
                label5, label6, label7, label8, label9, label10 }; 
            for (int i = 0; i < lbl.Length; i++) 
            { 
                lbl[i].Text = (i + 1).ToString(); 
            }

2009년 5월 20일 수요일

C# 1차원 배열

배열이란 동일한 데이터 형을 갖는 변수들을 묶어 놓은 것이다.

일반적으로 변수를 선언한 방법은 아래와 같다.

static void Main(string[] args)
{
  int a, b, c, d;
  a=10;
  b=20;
  c=30;
  d=40;
  Console.WriteLine(“{0},{1},{2},{3}”,a,b,c,d);
}

이것을 배열로 선언을 하면 아래와 같다.

static void Main(string[] args)
{
  int [] arr ; //배열 선언
arr = new int [4]; //메모리에 할당
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
arr[3] = 40;
Console.WriteLine(“{0},{1},{2},{3}”,arr[0],arr[1],arr[2],arr[3]);
}

선언과 메모리 할당 초기화를 같이 할 수도 있다.

int[] arr = {10, 20, 30, 40};

또는

int[] arr = new int[4] {10,20,30,40};

배열에 대해서 좀더 설명을 하면

선언은 다음과 같은 형식으로 한다.

데이터형 [] 배열 이름;

int[] arr;

배열을 선언한 다음에는 메모리에 할당을 해주어야 하는데 이때 배열의 크기도 명시해주어야 한다.

배열의 크기란 배열이 담게 되는 데이터의 개수를 의미하는데 0번부터 시작을 한다.

arr = new int [4];

다음과 같은 구조를 가짐

arr[0] arr[1] arr[2] arr[3]

100개가 넘는 자료를 배열로 처리 할 경우 For 문을 이용하거나 foreach문을 이용하면 모든 요소에 인덱스를 하지 않아도 된다.

아래는 For문을 이용한 예시이다. For문을 이용하여 arr의 길이 만큼 수행하는 것이다.

static void Main(string[] args)
{
  int [] arr ; //배열 선언
arr = new int [100]/메모리에 할당
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
arr[3] = 40;
//중간생략
for (int i=0; i < arr.Length; i++)
   {
    Console.WriteLine(“arr[{0}]은 {1}”,i,arr[i]);
   }
}

아래는 foreach문을 이용한 예시이다.

foreach문의 구조는 아래와 같다.

foreach(변수의 타입 변수명 in 배열명)
{
명령문
}

foreach문은 for 문과 달리 별도의 조건식이 존재하지 않는다. 배열의 크기만큼 반복하면서 실행이 되는 것이다.

static void Main(string[] args)
{
  int [] arr ; //배열 선언
arr = new int [100]/메모리에 할당
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
arr[3] = 40;
//중간생략
foreach (int i in arr)
   {
    Console.WriteLine(“{0}”,i);
   }
}

C# 콘솔에서 특수문자 출력하기

특수문자를 출력할경우 아래와 같이 실행하면 에러가 난다.

static void Main(string[] args)
{
   Console.WriteLine(“특수문자”#”출력하기”입니다.”);
}

에러가난 이유는 “” 를 문자 자체로 인식하지 않고 문법적으로 처리하기 때문에 에러가 나는 것이다.

static void Main(string[] args)
{
   Console.WriteLine(“특수문자 \”#”출력하기”입니다.”);
}

역슬러쉬(\) 를 사용하면 의도한대로 출력이 된다.

역슬러쉬를 출력하려면 역슬러쉬를 두개(\\) 사용하면된다.

static void Main(string[] args)
{
   Console.WriteLine(“역슬러쉬 \\ 출력하기 입니다.”);
}

역슬러쉬를 매번 사용하기 번거롭다면 아예 @ 를 사용하여 문자열 내의 특수문자를 그래도 출력 할 수 있다.

static void Main(string[] args)
{
   Console.WriteLine(@“그래로 출력하기 c:\test\ ####”);
}

Calendar 컨트롤의 날짜 범위 선택(Visual C#)

이 예제에서는 Windows Forms MonthCalendar 컨트롤의 날짜 범위를 선택합니다. 사용자가 날짜를 선택하면 해당 날짜가 포함된 주가 선택됩니다.

예제

코드 복사

private void monthCalendar1_DateSelected(object sender, System.Windows.Forms.DateRangeEventArgs e)
{
DateTime startDate = e.Start;
startDate = startDate.AddDays(-(double)startDate.DayOfWeek);
monthCalendar1.SelectionStart = startDate;
monthCalendar1.SelectionEnd = startDate.AddDays(6);
}


코드 컴파일


이 예제를 컴파일하려면 다음이 필요합니다.




  • monthCalendar1이라는 MonthCalendar 컨트롤이 있는 Windows Form. monthCalendar1의 DateSelected 이벤트 처리기를 monthCalendar1_DateSelected로 설정합니다.