티스토리 뷰
enum type을 iteration하려면 어떻게 해야할까?
예를 들어서 아래와 같이 일주일의 요일이 담긴 emun type인 Days가 있다고 하자.
enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat };
Days를 iteration하여 아래와 같이 출력하려고 한다.
Sun
Mon
Tue
Wed
Thu
Fri
Sat
어떻게 해야할까?
Enum.GetValues()를 이용하여, 아래와 같이 해주면 된다.
Type type = typeof(Days);
Array array = Enum.GetValues(type);
foreach (var value in array) {
Console.WriteLine(value);
}
Environment.SpecialFolder enum type을 iteration해보자.
Environment.SpecialFolder에는 Windows system에서 사용하는 특별한 폴더들이 들어있다.
(참고 : Environment.SpecialFolder Enumeration)
Type type = typeof(Environment.SpecialFolder);
Array array = Enum.GetValues(type);
foreach (var value in array) {
Environment.SpecialFolder specialFolder = (Environment.SpecialFolder) value;
string folder = Environment.GetFolderPath(specialFolder);
Console.WriteLine($"{value} : {folder}");
}
출력 결과는 아래와 같다.
Desktop : C:\Users\amodo\Desktop
Programs : C:\Users\amodo\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
MyDocuments : C:\Users\amodo\Documents
MyDocuments : C:\Users\amodo\Documents
Favorites : C:\Users\amodo\Favorites
Startup : C:\Users\amodo\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Recent : C:\Users\amodo\AppData\Roaming\Microsoft\Windows\Recent
SendTo : C:\Users\amodo\AppData\Roaming\Microsoft\Windows\SendTo
StartMenu : C:\Users\amodo\AppData\Roaming\Microsoft\Windows\Start Menu
MyMusic : C:\Users\amodo\Music
MyVideos : C:\Users\amodo\Videos
DesktopDirectory : C:\Users\amodo\Desktop
MyComputer :
NetworkShortcuts : C:\Users\amodo\AppData\Roaming\Microsoft\Windows\Network Shortcuts
Fonts : C:\Windows\Fonts
Templates : C:\Users\amodo\AppData\Roaming\Microsoft\Windows\Templates
CommonStartMenu : C:\ProgramData\Microsoft\Windows\Start Menu
CommonPrograms : C:\ProgramData\Microsoft\Windows\Start Menu\Programs
CommonStartup : C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
CommonDesktopDirectory : C:\Users\Public\Desktop
ApplicationData : C:\Users\amodo\AppData\Roaming
PrinterShortcuts : C:\Users\amodo\AppData\Roaming\Microsoft\Windows\Printer Shortcuts
LocalApplicationData : C:\Users\amodo\AppData\Local
InternetCache : C:\Users\amodo\AppData\Local\Microsoft\Windows\INetCache
Cookies : C:\Users\amodo\AppData\Local\Microsoft\Windows\INetCookies
History : C:\Users\amodo\AppData\Local\Microsoft\Windows\History
CommonApplicationData : C:\ProgramData
Windows : C:\Windows
System : C:\Windows\system32
ProgramFiles : C:\Program Files (x86)
MyPictures : C:\Users\amodo\Pictures
UserProfile : C:\Users\amodo
SystemX86 : C:\Windows\SysWOW64
ProgramFilesX86 : C:\Program Files (x86)
CommonProgramFiles : C:\Program Files (x86)\Common Files
CommonProgramFilesX86 : C:\Program Files (x86)\Common Files
CommonTemplates : C:\ProgramData\Microsoft\Windows\Templates
CommonDocuments : C:\Users\Public\Documents
CommonAdminTools : C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools
AdminTools : C:\Users\amodo\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools
CommonMusic : C:\Users\Public\Music
CommonPictures : C:\Users\Public\Pictures
CommonVideos : C:\Users\Public\Videos
Resources : C:\Windows\resources
LocalizedResources :
CommonOemLinks :
CDBurning : C:\Users\amodo\AppData\Local\Microsoft\Windows\Burn\Burn
'Piece' 카테고리의 다른 글
[Visual Studio] Dynamic/Static Library Setup Example using MySQL Connector/C++ (0) | 2018.07.09 |
---|---|
[C++] Dynamic Memory Allocation - TCHAR *myString (0) | 2018.07.09 |
[Windows] Set %HOME% Environment Variable (for Vim, Emacs, AStyle, ...) (0) | 2018.07.02 |
[C/C++] Predefined Macros (0) | 2018.06.30 |
Python Script [SQL] sp_configure sp_execute_external_script (0) | 2018.06.30 |