전체 페이지뷰

2016년 12월 12일 월요일

C# 번외편 Console.WriteLine, ReadLine

출력 포매팅에도 놀랍도록 많은 옵션이 존재합니다. 자세한 내용은 MSDN을 참고해서 찾아보시기 바라며, 몇가지만 짚어 보고 넘어가겠습니다.



콘솔 출력

여러 개 데이터 한번에 출력

int a = 3, b = 15;
string c = "abc";
Console.WriteLine("{0} {1} {2}", a, b, c);
cs
결과) 3 15 abc


정수를 특정 자리수의 10진수로 표시하기

int a = 3;
Console.WriteLine("{0:D5}", a);
cs
결과) 00003

정수를 특정 자리수의 16진수로 표시하기

int a = 255;
Console.WriteLine("{0:X8}", a);
cs
결과) 000000FF

포맷팅을 ToString()으로 하기

int a = 3;
Console.WriteLine(a.ToString("D5"));
Console.WriteLine("{0:D5}", a);
cs
결과)
00003
00003

통화(돈)으로 표시하기

double value = 123.456;
Console.WriteLine("{0:C2}", value);
Console.WriteLine(value.ToString("C2"));
cs
결과)
₩123.46
₩123.46


%, 콤마 표시


 double floating = 10761.937554;
 Console.WriteLine("{0:P3}", floating/10000); // %를 나타냄
 Console.WriteLine("{0:N3}", floating);   // 세자리마다 콤마
cs
결과)
107.619%
10,761.938


콘솔 입력

Console.ReadKey()

눌린 키 하나를 리턴함 ()안에 true가 있으면 눌린키를 출력하지 않고  정보만을 받아가며,
false가 있으면 출력과 동시에 정보를 받아감(디폴트는 false).
정보는 ConsoleKeyInfo라는 구조체의 형식으로 전해지므로 단순히 키값만을 의미하지 않으며, 그 속에 Key, KeyChar, Modifiers의 property를 갖는다.


using System;
class Program
{
    static void Main(string[] args)
    {
        ConsoleKeyInfo keyInfo;
        keyInfo = Console.ReadKey();
        Console.WriteLine("{0}, {1}, {2}", keyInfo.Key, keyInfo.KeyChar, keyInfo.Modifiers);
    }
}
cs


소문자 'q'를 눌렀을때 결과)
qQ, q, 0

CTRL+'z'의 결과)
→Z, → , Control

Console.ReadLine()

엔터키가 눌릴 때까지 입력받은 문자열을 리턴하는 메소드.
입력받은 것을 정수로 사용하고 싶을 때는 Convert.ToInt32()등으로 변환하여 사용.


댓글 없음:

댓글 쓰기