Wanna be Brilliant Full-Stack Developer
C# WinForms 조건문(if else, switch) 본문
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 if_switch
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ifTest();
}
private void ifTest()
{
int ia = 30;
int ib = 20;
string strResult = string.Empty;
}
}
}
여기서 strResult를 빈값으로 초기화시키기 위해서는 다양한 방법이 쓰일 수 있는데
strResult = ""; 이렇게도 하고 strResult = null; 로 초기화 시켜주기도 한다.
이렇게 항복이 하나만 있일때는 중괄호를 생략해도 오류가 안뜬다.
이렇게 줄일 수도 있다!
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 if_switch
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ifTest();
}
private void ifTest()
{
int ia = 3;
int ib = 20;
string strResult = string.Empty;
if (ia > ib)
{
strResult = "ia가 크다";
}
else if (ia < ib)
{
strResult = "ib가 크다";
}
else
{
strResult = "같다";
}
if (ia > ib)
strResult = "ia가 크다";
else
strResult = "같다";
if (ia > ib)
{
strResult = "ia가 크다";
}
else
{
strResult = "같다";
}
strResult = (ia > ib) ? "ia가 크다" : "같다";
if (ia > 5 && ib > 5)
{
strResult = "둘다 크다";
}
if (ia > 5 || ib > 5)
{
strResult = "적어도 둘중에 하나는 크다";
}
}
}
}
AND 나 OR를 섞어 쓸때는 괄호를 감싸줘서 하면 된다!
여기보면 case2와 case3은 같은 조건식으로 들어갈 수가 있다.
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 if_switch
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ifTest();
}
private void switchTest()
{
int iRet = 3;
string strResult = string.Empty;
switch (iRet)
{
case 2:
case 3:
{
strResult = "2나 3";
}
break;
case 4:
{
strResult = "4";
}
break;
default:
{
strResult = "몰라";
}
break;
}
}
private void ifTest()
{
int ia = 3;
int ib = 20;
string strResult = string.Empty;
// if, else if, else -> if 조건이 아닐 경우 else if 조건이 아닐 경우 else(나머지)
if (ia > ib)
{
strResult = "ia가 크다";
}
else if (ia < ib)
{
strResult = "ib가 크다";
}
else
{
strResult = "같다";
}
// 단항의 경우 괄호는 생략 할 수 있습니다.
if (ia > ib)
strResult = "ia가 크다";
else
strResult = "같다";
if (ia > ib)
{
strResult = "ia가 크다";
}
else
{
strResult = "같다";
}
// 동일 변수에 결과 값을 넣어줄 경우에 if 문을 축약 할 수 있습니다
strResult = (ia > ib) ? "ia가 크다" : "같다";
// && || 를 사용 해서 여러가지 조건을 추가 할 수 있습니다.
if (ia > 5 && ib > 5)
{
strResult = "둘다 크다";
}
if (ia > 5 || ib > 5)
{
strResult = "적어도 둘중에 하나는 크다";
}
}
private void btnIfResult_Click(object sender, EventArgs e)
{
int iNumber1 = (int)nNumber1.Value;
int iNumber2 = (int)nNumber2.Value;
if(iNumber1 > iNumber2)
{
lblIfResult.Text = string.Format("- Number1이 Nubmer2 보다 {0} 더 큽니다.", iNumber1 - iNumber2);
}
else if(iNumber1 < iNumber2)
{
lblIfResult.Text = string.Format("- Number2가 Nubmer1 보다 {0} 더 큽니다.", iNumber2 - iNumber1);
}
else
{
lblIfResult.Text = string.Format("- 두 숫자는 같습니다. 숫자 : {0} ", iNumber1);
}
}
private void btnswitchResult_Click(object sender, EventArgs e)
{
string strSelect = cboxDay.Text;
switch (strSelect)
{
case "월":
lblswitchResult.Text = "- 선택 날짜는 월요일 입니다.";
break;
case "화":
lblswitchResult.Text = "- 선택 날짜는 화요일 입니다.";
break;
case "수":
lblswitchResult.Text = "- 선택 날짜는 수요일 입니다.";
break;
case "목": // break 문을 쓰지 않고 목과 금을 case를 동시에 사용 합니다.
case "금":
lblswitchResult.Text = "- 선택 날짜는 금요일 입니다.";
break;
default:
lblswitchResult.Text = "- 선택 날짜는 주말 입니다(토요일,일요일)";
break;
}
}
}
}
'Some Memos > C#' 카테고리의 다른 글
C# Winforms while, do while (0) | 2023.04.10 |
---|---|
C# WinForms 반복문 ( For, ForEach) (0) | 2023.04.06 |
C# Winforms 배열(Array) (0) | 2023.04.06 |
C# WINFORMS 주석의 중요성 (0) | 2023.04.05 |
C# Winforms Enum ( 열거형) (0) | 2023.04.05 |