문과 코린이의, [C#] 기록/C# 활용

[문과 코린이의 IT 기록장] C# 기초 예시 - 반복문 (For문, Foreach문 활용)

벼리네 2021. 6. 7. 12:13
반응형

[문과 코린이의 IT 기록장] C# 기초 예시 - For문, Foreach문 활용

[문과 코린이의 IT 기록장] C# 기초 예시 - For문, Foreach문 활용


0. C# _ For문, Foreach문에 관해서

[ 목적 ]

: 횟수나 배열의 크기만큼 반복을 수행하려고 할 때 사용

- For문 : 반복이나 필요한 변수의 선언 및 초기화, 조건식, 변수의 증감 등의 조건으로 반복을 수행

 ex) for(변수선언 및 초기화, 반복조건, 증감조건){ 반복 시 수행할 내용 }

- Foreach문 : 배열의 크기에서 값을 하나씩 가져오면서 반복을 수행

 ex) foreach (배열에서 가져온 값 in 배열){ 반복 시 수행할 내용 }


1. UI 부분

# 속성 - Scroll bars : Vertical(세로) / Horizontal(가로) / Both(양쪽)

속성 - ScrollBars


2. 코드 부분

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace _20210604_for_foreach

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

 

private void Form1_Load(object sender, EventArgs e)

{

 

}

 

private void btnFor_Click(object sender, EventArgs e) // For버튼을 클릭할 때

{

 tboxResult.Text = string.Empty; // tboxResult 텍스트박스의 Text부분 초기화

 

 StringBuilder sb = new StringBuilder();

[ StringBuilder ]
- StringBuilder 객체는 string과 마찬가지로 문자열을 담는 역할을 한다.
- 그러나, string과 달리 문자열을 수정할 수 있다.
cf ) 형식 : StringBuilder 변수이름 = new StringBuilder(문자열 내용)
 * 변수보다는 메서드를 사용하는 방식에 가까움
 * StringBuilder는 ToString()으로 string 타입으로 변환할 수 있음

ex ) 
StringBuilder sb= new StringBuilder();
sb.Append("A"); // 문자열 추가
sb.Insert(3,"test"); // 문자열 3번째 위치에 text라는 문자 삽입
sb.Remove(3,5); // 문자열 3번째 위치에서 5개의 문자들 제거
sb.Replace("test","test1"); // 문자열 중 test라는 문자 모두 test1로 변경
sb.Replace("test","test1", 1, 5); // 문자열 1~5 사이 중, test라는 문자 모두 test1으로 변경
sb.ToString(); // StringBuilder객체를 String형으로 변경한다.

 int iResult = 0; // 값이 더해진 결과값, iResult 변수

 

 for (int i = 1; i < 10; i++)

 {

   iResult += i; 

   sb.Append(string.Format("1부터 {0}까지 더하면 {1}이 됩니다. \r\n", i, iResult)); // \r\n : 줄바꿈

 }

 

 

 [ 이중 For문 활용 예시 ]

 //for (int i = 0; i < 5; i++)

 //{

   // for (int a = 0; a < 3; a++)

   // {

     // sb.Append(string.Format("{0}회차 {1} 스테이지 진행 중.. \r\n", i, a));

   // }

//}

 

 tboxResult.Text = sb.ToString(); // tboxResult 텍스트박스의 Text부분에, sb객체를 String으로 변환한 값을 넣겠다.

}

 

private void btnForeach_Click(object sender, EventArgs e) // Foreach문을 클릭할 때

{

 tboxResult.Text = string.Empty;

 

 StringBuilder sb = new StringBuilder();

 

 string[] strArray = { "나연, "정연, "모모, "사나, "지효, "미나, "다현, "쯔위, "채영 };

 // string형 배열 strArray에, 우측의 값을 넣어라

 

 int i = 1; // foreach문은 배열을 하나씩 빼기 때문에, 횟수를 강제로 지정 해줘야함.

 

 foreach (var oValue in strArray)

 // var : 아무값이나 다 들어가게 하는, 형태가 정해지지 않은 데이터형식

 // 여기는 string형태라 var 대신 string을 적어도 됨

 {

   sb.Append(string.Format("{0} 선생님은 {1}반 입니다 \r\n",oValue,i++)); // i++로임의로 횟수를지정해줌

 }

 tboxResult.Text = sb.ToString();

 }

}

}

 


 

 

3. 결과물 부분

for문
foreach문


4. C#기초 예시 / 참고 자료를 더 보고 싶다면?

 


* 유의사항
- 아직 공부하고 있는 문과생 코린이가, 정리해서 남겨놓은 정리 및 필기노트입니다.
- 정확하지 않거나, 틀린 점이 있을 수 있으니, 유의해서 봐주시면 감사하겠습니다.
- 혹시 잘못된 점을 발견하셨다면, 댓글로 친절하게 남겨주시면 감사하겠습니다 :)
반응형