λ°μ΄ν° νμ κ°μ λ³ν
μμμ λ³ν (Implicit Conversion)
μ μλ μ€μμ΄λ€.
μ΄ λ§μ λ§λ λ§μ΄λ€. μλνλ©΄ μ μλ μ€μμ ν¬ν¨λκΈ° λλ¬Έμ΄λ€.
μ΄λ λ― λ²μκ° λ ν° λ°μ΄ν° νμ μΌλ‘ λ³νν λλ λ°μ΄ν° μμ€μ΄ μκΈ° λλ¬Έμ, λ°λ‘ 무μΈκ°λ₯Ό μν΄μ€λ λ³νμ΄ μλμΌλ‘ μνλλ€.
int λ³΄λ€ λ ν° λ²μμ μ μμΈ long, μ€μλ²μμΈ floatμ doubleμ λ°λ‘ λ³νμ μν΄μ£Όμ΄λ intνμ΄ μλμΌλ‘ λ³νλλ κ²μ λ³Ό μ μλ€.
λͺ μμ λ³ν (Explicit Conversion)
λ°λλ‘ 'μ€μλ μ μμ΄λ€.' μ΄ λ§μ ν리λ€.
μ€μλ₯Ό μ μλ‘ λ³νμν€λ €λ©΄ μμμ μ΄ μ‘΄μ¬νλ κ²½μ° λ²λ €μΌνκ³ , μ¬λ¦Όν μ§ λ²λ¦Όν μ§λ μ ν΄ννλ€.
μ΄λ κ² λ°μ΄ν°μ μμ€μ΄ λ°μνλ κ²½μ°μ λ³νμ λͺ
μμ λ³νμ΄λΌκ³ νλ€. μ΄ λ³νμ μλμΌλ‘ μ§νλμ΄μΌ νλ€.
λͺ
μμ μΌλ‘ λ³ννλ λ°©λ²μλ ν¬κ² μΊμ€ν
κ³Ό Convertν΄λμ€λ₯Ό μ¬μ©νλ λ°©λ²μ΄ μλ€.
μΊμ€ν (Casting)
μμ²λΌ κ΄νΈ μμ λ³νμν€κ³ μ νλ λ°μ΄ν° νμμ λ£λ κ²μ μΊμ€ν μ΄λΌκ³ νλ€. κ°μ₯ κΈ°λ³Έμ μ΄κ³ μ¬μ΄ λ°©λ²μ΄λ€.
Convert ν΄λμ€
Convert ν΄λμ€λ μμ κ°μ΄ λ€μν λ°μ΄ν° νμ κ°μ λ³νμ μννλ λ©μλλ₯Ό μ 곡νλ€.
λ λ³ν λ°©λ²μ μ°¨μ΄μ μ?
1. μμμ λ²λ¦¬λ λ°©μ
μΊμ€ν μ μμμ μ λ€ λ²λ¦¬κ³ , Convert ν΄λμ€λ λ°μ¬λ¦Όμ νλ€.
Console.WriteLine((int)5.4); //5
Console.WriteLine((int)5.5); //5
Console.WriteLine((int)5.6); //5
Console.WriteLine(Convert.ToInt32(5.4)); //5
Console.WriteLine(Convert.ToInt32(5.5)); //6
Console.WriteLine(Convert.ToInt32(5.6)); //6
2. μμΈ λ°μμν€λ λ°©μ
μΊμ€ν
μ κ°μ λ³νμν¬ μ μμ΄λ μ΅μ§λ‘ μ΄μν κ°μΌλ‘ λ³νμμΌμ μλ¬κ° λμ§ μλλ€.
νμ§λ§ Convert ν΄λμ€λ λ³νμν¬ μ μμΌλ©΄ μμΈλ₯Ό λ°μμν¨λ€.
int intValue = 300;
Console.WriteLine((byte)intValue); //44
Console.WriteLine(Convert.ToByte(intValue)); //Unhandled exception. System.OverflowException
int negativeValue = -300;
Console.WriteLine((uint)negativeValue); //4294966996
Console.WriteLine(Convert.ToUInt32(negativeValue)); //Unhandled exception. System.OverflowException
Byteλ 0~255κΉμ§μ κ°λ§ λνλΌ μ μκΈ° λλ¬Έμ, 300μ byteλ‘ λ³νμν€λ κ²μ λΆκ°λ₯νλ€. νμ§λ§ μΊμ€ν μ κ°μ λ‘ μν€λ©΄ 300%256μ κ³μ°ν κ²°κ³ΌμΈ 44κ° λμ€κ² λλ€. λ°λ©΄, Convertν΄λμ€λ μμ Exceptionμ throwνλ€.
uintλ μμλ§μ λνλ΄λ λ°μ΄ν° νμ μ΄κΈ° λλ¬Έμ μμλ uintλ‘ ννν μ μλ€. κ°μ λ‘ μΊμ€ν μ μν€λ©΄ μ€λ²νλ‘μ°λμ΄μ μ΄μν κ°μ΄ λμ€κΈ΄ λμ€μ§λ§, Convert ν΄λμ€λ₯Ό μ¬μ©νλ©΄ Exceptionμ throwνλ€.
'π₯οΈ > C#' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[C# WPF] WPF TextTrimmingμ΄ κ°λ₯ν 쑰건 (0) | 2023.10.31 |
---|---|
[C#] μ νΈλ¦¬λ·°νΈ(Attribute)λ? (2) | 2023.10.18 |
[C# WPF] e.Handled = true; (0) | 2023.10.16 |
[C#] LINQμμ foreachλ₯Ό μ¬λ¬ λ² μ°λ©΄ μλλ μ΄μ (0) | 2023.10.12 |
[C#] LINQμ Single()μ λν΄μ (0) | 2023.10.12 |