6. μμμ μ΄κ±° νμ (const, enum): νλ‘κ·Έλλ¨Έμ μ€μλ₯Ό λ§λ μ₯μΉ
λ³μλ λ΄κ³ μλ λ°μ΄ν°λ₯Ό μΌλ§λ μ§ λ³κ²½ν μ μλ λ©λͺ¨λ¦¬ 곡κ°μ΄λ€.
μμμ μ΄κ±° νμμ λ³μμ λ¬λ¦¬ μμ λ΄κΈ΄ λ°μ΄ν°λ₯Ό μ λ λ°κΏ μλ λ©λͺ¨λ¦¬ 곡κ°μ΄λ€.
νλ‘κ·Έλλ¨Έμ μ€μλ‘ λ³κ²½νμ§ λ§μμΌ ν λ³μλ₯Ό 건λ리면 μ¬μ©μμκ² λ°°ν¬λ νλ‘κ·Έλ¨μ λ²κ·Έλ₯Ό λΈλ€.
μμμ μ΄κ±° νμμ λ³μ λμ μ¬μ©νλ©΄ 컀νμΌλ¬κ° μμ€ μ½λλ₯Ό μ»΄νμΌν λ νλ‘κ·Έλλ¨Έμ μ€μλ₯Ό μ‘μ μλ €μ£Όκ³ ,
κ²°κ΅μλ νλ‘κ·Έλ¨μ λ²κ·Έλ μ€μ¬μ€λ€.
(μμμ κ°μ λ°κΎΈλ €κ³ νλ©΄ μ»΄νμΌλ¬κ° μλ¬ λ©μμ§λ₯Ό μμλΈλ€.)
μμμ μ μΈ
const μλ£ν μμν = κ°;
<μ΄κ±°νμ - μ¬λ¬ κ°μ μμλ₯Ό μ 리νμ>
νλ‘κ·Έλλ°μ νλ€ λ³΄λ©΄ μ’ λ₯λ κ°μ§λ§ λ€λ₯Έ κ°μ κ°λ μμλ₯Ό μ μΈν΄μΌ ν λκ° κ°λ μλ€.
νλ‘κ·Έλλ¨Έκ° μμλ₯Ό μ μΈνλ κ³Όμ μμ λ λ€λ₯Έ μ€μλ₯Ό μ μ§λ₯Ό μ μλ μλ€.
μλ°± κ°μ μμ μ€μμ μ€λ³΅λλ κ°μ κ°λ μμλ€μ΄ μ‘΄μ¬νλ€λ©΄... λμ°νλ€.
μ΄κ±°νμμ μ΄λ¬ν μ€μλ₯Ό λ§μμ£Όλ μ₯μΉμ΄λ€.
κ°μ λ²μ£Όμ μνλ μ¬λ¬ κ°μ μμλ₯Ό μ μΈν λ μμ£Ό μ μ©νλ€.
μ΄κ±° νμλ μμμ΄κΈ΄ νμ§λ§ const ν€μλλ₯Ό μ¬μ©νλ λμ μ enum ν€μλλ₯Ό μ¬μ©νλ€.
enum μ΄κ±°νμλͺ : κΈ°λ°μλ£ν { μμ1, μμ2, μμ3, - - -}
κΈ°λ° μλ£νμ μ μ κ³μ΄(byte, sbyte, short, ushort, int, uint, long, ulong, char )λ§ μ¬μ©ν μ μμΌλ©°
μλ΅ν κ²½μ° μ»΄νμΌλ¬κ° intλ₯Ό κΈ°λ°μλ£νμΌλ‘ μ¬μ©νλ€.
enum DialogResult { YES, NO, CANCEL, CONFIRM, OK }
μ μ μΈμμ μ΄κ±° νμ μμ μ μΈλ μμλ€μ΄ μ΄λ€ κ°λ ν λΉλ°μ§ μμμΌλ
μμκ°μ΄ μ μΈνκ³ λλ©΄
첫λ²μ§Έ μ΄κ±° νμ μμμλ 0, κ·Έ λ€μ μμμλ 1, κ·Έ λ€μ μμμλ 2μ μμΌλ‘
1μ© μ¦κ°ν κ°μ μ»΄νμΌλ¬κ° μλμΌλ‘ ν λΉνλ€.
using System;
using System.Text
using static System.Console;
namespace Hello
{
class MainApp
{
enum DialogResult { YES, NO, CANCEL, CONFIRM, OK }
static void Main(string[] args)
{
WriteLine((int)DialogResult.YES); //0
WriteLine((int)DialogResult.NO); //1
WriteLine((int)DialogResult.CANCEL); //2
WriteLine((int)DialogResult.CONFIRM); //3
WriteLine((int)DialogResult.OK); //4
}
}
}
μμ μμ νλ‘κ·Έλ¨κ³Ό κ°μ΄,
μ½λμμλ μ΄κ±° νμμ κ° μμμ μ΄λ€ κ°λ μ£Όμ§ μμμ§λ§
μ΄λ€μ΄ μ μ λ°μ΄ν°λ₯Ό κ°κ³ μμμ μ μ μλ€.
DialogResultμ κ° μμλ€μ΄ κ°κ³ μλ κ°μ μ»΄νμΌλ¬κ° μλμΌλ‘ ν λΉν κ²μ΄λ€.
μ무κ²λ μ§μ νμ§ μμλ€λ©΄
첫λ²μ§Έ μμλ 0, κ·Έλ€μ μμλ μ μΈλ μμμ λ°λΌ 1μ© μ¦κ°λ κ°μ μ»΄νμΌλ¬κ° μλμΌλ‘ ν λΉνλ€.
(μ΄κ±° νμμ κ° μμλ μλ‘ μ€λ³΅λμ§ μλ κ°μ κ°κ³ μλ€λ λ° μλ―Έκ° μλ€.)
μ΄κ±° νμμ μ¬μ©ν λλ κ° μμμ κ°λ³΄λ€λ κ° μμμ μ΄λ¦μ μ¬μ©νλ κ²μ΄ κ·Έ μλ―Έμ μ λΆν©νλ€κ³ ν μ μλ€.
λν μ΄ DialogResultλΌλ μ΄κ±° νμμ λ³μκ° μλκ³ μλ‘μ΄ νμμ΄λ€.
(c# μ»΄νμΌλ¬κ° λͺ¨λ₯΄κ³ μλ μλ‘μ΄ νμμ νλ λ§λ κ²κ³Ό λμΌ)
μ¦, intλ floatμ²λΌ μ΄ νμμ μ΄μ©ν΄ λ³μλ₯Ό λ§λ€ μ μλ€.(DialogResultλ§μ λ΄μ μ μλ...)
DialogResult result = DialogResultl.YES;
(DialogResult result = 0 λ³΄λ€ μ μ§λ³΄μμ±μ΄λ κ°λ μ±μ΄ λ°μ΄λλ€)
using System;
using System.Text;
using static System.Console;
namespace Hello
{
class MainApp
{
enum DialogResult { YES, NO, CANCEL, CONFIRM, OK }
static void Main(string[] args)
{
DialogResult dialogResult = DialogResult.YES;
WriteLine(dialogResult == DialogResult.YES); //True
WriteLine(dialogResult == DialogResult.NO); //False
WriteLine(dialogResult == DialogResult.CANCEL); //False
WriteLine(dialogResult == DialogResult.CONFIRM); //False
WriteLine(dialogResult == DialogResult.OK); //False
}
}
}
λ¬Όλ‘ μ΄κ±° νμμ κ° μμλ κΈ°λ³Έμ μΌλ‘ μ»΄νμΌλ¬μμ κ°μ μλμΌλ‘ ν λΉλ°μ§λ§,
νλ‘κ·Έλλ¨Έκ° μνλ κ°μ μ§μ λμ ν μλ μλ€.
using System;
using System.Text;
using static System.Console;
namespace Hello
{
class MainApp
{
enum DialogResult { YES, NO=50, CANCEL, CONFIRM=20, OK }
static void Main(string[] args)
{
DialogResult dialogResult = DialogResult.YES;
WriteLine((int)DialogResult.YES); //0
WriteLine((int)DialogResult.NO); //50
WriteLine((int)DialogResult.CANCEL); //51
WriteLine((int)DialogResult.CONFIRM); //20
WriteLine((int)DialogResult.OK); //21
}
}
}