문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문
이 설명서는 보관되지만 유지 되지 않습니다.

Environment 클래스

현재 환경 및 플랫폼에 대한 정보 및 조작 방법을 제공합니다. 이 클래스는 상속될 수 없습니다.

System.Object
  System.Environment

네임스페이스:  System
어셈블리:  mscorlib(mscorlib.dll)

[ComVisibleAttribute(true)]
public static class Environment

Environment 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 속성정적 멤버CommandLine이 프로세스에 대한 명령줄을 가져옵니다.
Public 속성정적 멤버CurrentDirectory현재 작업 디렉터리의 정규화된 경로를 가져오거나 설정합니다.
Public 속성정적 멤버ExitCode프로세스의 종료 코드를 가져오거나 설정합니다.
Public 속성정적 멤버z8te35sa.PortableClassLibrary(ko-kr,VS.100).gifHasShutdownStartedCLR(공용 언어 런타임)이 종료되는지 여부를 나타내는 값을 가져옵니다.
Public 속성정적 멤버Is64BitOperatingSystem현재 운영 체제가 64비트 운영 체제인지 여부를 확인합니다.
Public 속성정적 멤버Is64BitProcess현재 프로세스가 64비트 프로세스인지 여부를 확인합니다.
Public 속성정적 멤버MachineName이 로컬 컴퓨터의 NetBIOS 이름을 가져옵니다.
Public 속성정적 멤버XNA Framework에서 지원z8te35sa.PortableClassLibrary(ko-kr,VS.100).gifNewLine이 환경에 대해 정의된 줄 바꿈 문자열을 가져옵니다.
Public 속성정적 멤버XNA Framework에서 지원OSVersion현재 플랫폼 식별자와 버전 번호가 들어 있는 OperatingSystem 개체를 가져옵니다.
Public 속성정적 멤버XNA Framework에서 지원ProcessorCount현재 컴퓨터의 프로세서 수를 가져옵니다.
Public 속성정적 멤버StackTrace현재 스택 추적 정보를 가져옵니다.
Public 속성정적 멤버SystemDirectory시스템 디렉터리의 정규화된 경로를 가져옵니다.
Public 속성정적 멤버SystemPageSize운영 체제 페이지 파일의 메모리 양을 가져옵니다.
Public 속성정적 멤버XNA Framework에서 지원z8te35sa.PortableClassLibrary(ko-kr,VS.100).gifTickCount시스템 시작 이후 경과 시간(밀리초)을 가져옵니다.
Public 속성정적 멤버UserDomainName현재 사용자와 관련된 네트워크 도메인 이름을 가져옵니다.
Public 속성정적 멤버UserInteractive현재 프로세스가 사용자 대화형 모드로 실행되고 있는지 여부를 나타내는 값을 가져옵니다.
Public 속성정적 멤버UserNameWindows 운영 체제에 현재 로그온한 사용자의 이름을 가져옵니다.
Public 속성정적 멤버XNA Framework에서 지원z8te35sa.PortableClassLibrary(ko-kr,VS.100).gifVersion공용 언어 런타임의 주 번호, 보조 번호, 빌드 번호 및 수정 번호를 설명하는 Version 개체를 가져옵니다.
Public 속성정적 멤버WorkingSet프로세스 컨텍스트에 매핑되는 실제 메모리의 크기를 가져옵니다.
위쪽

  이름설명
Public 메서드정적 멤버Exit이 프로세스를 종료하고 내부 운영 체제에 지정된 종료 코드를 제공합니다.
Public 메서드정적 멤버ExpandEnvironmentVariables지정된 문자열에 있는 각 환경 변수 이름을 해당 변수의 값에 해당하는 문자열로 바꾼 다음 결과 문자열을 반환합니다.
Public 메서드정적 멤버FailFast(String)Windows 응용 프로그램 이벤트 로그에 메시지를 쓴 후 프로세스를 즉시 종료한 다음 해당 메시지를 Microsoft로 보내는 오류 보고에 포함시킵니다.
Public 메서드정적 멤버FailFast(String, Exception)Windows 응용 프로그램 이벤트 로그에 메시지를 쓴 후 프로세스를 즉시 종료한 다음 해당 메시지와 예외 정보를 Microsoft로 보내는 오류 보고에 포함시킵니다.
Public 메서드정적 멤버GetCommandLineArgs현재 프로세스에 대한 명령줄 인수가 들어 있는 문자열 배열을 반환합니다.
Public 메서드정적 멤버GetEnvironmentVariable(String)현재 프로세스에서 환경 변수의 값을 검색합니다.
Public 메서드정적 멤버GetEnvironmentVariable(String, EnvironmentVariableTarget)현재 프로세스 또는 현재 사용자나 로컬 컴퓨터의 Windows 운영 체제 레지스트리 키에서 환경 변수의 값을 검색합니다.
Public 메서드정적 멤버GetEnvironmentVariables()현재 프로세스에서 모든 환경 변수 이름과 해당 값을 검색합니다.
Public 메서드정적 멤버GetEnvironmentVariables(EnvironmentVariableTarget)현재 프로세스 또는 현재 사용자나 로컬 컴퓨터의 Windows 운영 체제 레지스트리 키에서 모든 환경 변수 이름과 해당 값을 검색합니다.
Public 메서드정적 멤버XNA Framework에서 지원GetFolderPath(Environment.SpecialFolder)지정된 열거형으로 식별되는 시스템 특수 폴더의 경로를 가져옵니다.
Public 메서드정적 멤버GetFolderPath(Environment.SpecialFolder, Environment.SpecialFolderOption)지정된 열거형으로 식별되는 시스템 특수 폴더에 대한 경로를 가져오고 특수 폴더에 액세스하는 데 지정한 옵션을 사용합니다.
Public 메서드정적 멤버GetLogicalDrives현재 컴퓨터의 논리 드라이브 이름이 들어 있는 문자열의 배열을 반환합니다.
Public 메서드정적 멤버SetEnvironmentVariable(String, String)현재 프로세스에 저장되어 있는 환경 변수를 생성, 수정 또는 삭제합니다.
Public 메서드정적 멤버SetEnvironmentVariable(String, String, EnvironmentVariableTarget)현재 프로세스 또는 현재 사용자나 로컬 컴퓨터에 예약된 Windows 운영 체제 레지스트리 키에 저장되어 있는 환경 변수를 생성, 수정 또는 삭제합니다.
위쪽

Environment 클래스를 사용하여 명령줄 인수, 종료 코드, 환경 변수 설정, 호출 스택의 내용, 마지막으로 시스템을 부팅한 이후 경과된 시간, 공용 언어 런타임 버전 등의 정보를 검색합니다.

다음 예제에서는 현재 환경에 대한 정보 목록을 표시하는 방법을 보여 줍니다.


// Sample for Environment class summary
using System;
using System.Collections;

class Sample 
{
    public static void Main() 
    {
    String str;
    String nl = Environment.NewLine;
//
    Console.WriteLine();
    Console.WriteLine("-- Environment members --");

//  Invoke this sample with an arbitrary set of command line arguments.
    Console.WriteLine("CommandLine: {0}", Environment.CommandLine);

    String[] arguments = Environment.GetCommandLineArgs();
    Console.WriteLine("GetCommandLineArgs: {0}", String.Join(", ", arguments));

//  <-- Keep this information secure! -->
    Console.WriteLine("CurrentDirectory: {0}", Environment.CurrentDirectory);

    Console.WriteLine("ExitCode: {0}", Environment.ExitCode);

    Console.WriteLine("HasShutdownStarted: {0}", Environment.HasShutdownStarted);

//  <-- Keep this information secure! -->
    Console.WriteLine("MachineName: {0}", Environment.MachineName);

    Console.WriteLine("NewLine: {0}  first line{0}  second line{0}  third line",
                          Environment.NewLine);

    Console.WriteLine("OSVersion: {0}", Environment.OSVersion.ToString());

    Console.WriteLine("StackTrace: '{0}'", Environment.StackTrace);

//  <-- Keep this information secure! -->
    Console.WriteLine("SystemDirectory: {0}", Environment.SystemDirectory);

    Console.WriteLine("TickCount: {0}", Environment.TickCount);

//  <-- Keep this information secure! -->
    Console.WriteLine("UserDomainName: {0}", Environment.UserDomainName);

    Console.WriteLine("UserInteractive: {0}", Environment.UserInteractive);

//  <-- Keep this information secure! -->
    Console.WriteLine("UserName: {0}", Environment.UserName);

    Console.WriteLine("Version: {0}", Environment.Version.ToString());

    Console.WriteLine("WorkingSet: {0}", Environment.WorkingSet);

//  No example for Exit(exitCode) because doing so would terminate this example.

//  <-- Keep this information secure! -->
    String query = "My system drive is %SystemDrive% and my system root is %SystemRoot%";
    str = Environment.ExpandEnvironmentVariables(query);
    Console.WriteLine("ExpandEnvironmentVariables: {0}  {1}", nl, str);

    Console.WriteLine("GetEnvironmentVariable: {0}  My temporary directory is {1}.", nl,
                           Environment.GetEnvironmentVariable("TEMP"));

    Console.WriteLine("GetEnvironmentVariables: ");
    IDictionary	environmentVariables = Environment.GetEnvironmentVariables();
    foreach (DictionaryEntry de in environmentVariables)
        {
        Console.WriteLine("  {0} = {1}", de.Key, de.Value);
        }

    Console.WriteLine("GetFolderPath: {0}", 
                 Environment.GetFolderPath(Environment.SpecialFolder.System));

    String[] drives = Environment.GetLogicalDrives();
    Console.WriteLine("GetLogicalDrives: {0}", String.Join(", ", drives));
    }
}
/*
This example produces results similar to the following:
(Any result that is lengthy or reveals information that should remain 
secure has been omitted and marked "!---OMITTED---!".)

C:\>env0 ARBITRARY TEXT

-- Environment members --
CommandLine: env0 ARBITRARY TEXT
GetCommandLineArgs: env0, ARBITRARY, TEXT
CurrentDirectory: C:\Documents and Settings\!---OMITTED---!
ExitCode: 0
HasShutdownStarted: False
MachineName: !---OMITTED---!
NewLine:
  first line
  second line
  third line
OSVersion: Microsoft Windows NT 5.1.2600.0
StackTrace: '   at System.Environment.GetStackTrace(Exception e)
   at System.Environment.GetStackTrace(Exception e)
   at System.Environment.get_StackTrace()
   at Sample.Main()'
SystemDirectory: C:\WINNT\System32
TickCount: 17995355
UserDomainName: !---OMITTED---!
UserInteractive: True
UserName: !---OMITTED---!
Version: !---OMITTED---!
WorkingSet: 5038080
ExpandEnvironmentVariables:
  My system drive is C: and my system root is C:\WINNT
GetEnvironmentVariable:
  My temporary directory is C:\DOCUME~1\!---OMITTED---!\LOCALS~1\Temp.
GetEnvironmentVariables: 
  !---OMITTED---!
GetFolderPath: C:\WINNT\System32
GetLogicalDrives: A:\, C:\, D:\

*/


.NET Framework

4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

에서 지원

Windows 7, Windows Vista SP1 이상, Windows XP SP3, Windows XP SP2 x64 버전, Windows Server 2008(Server Core는 지원되지 않음), Windows Server 2008 R2(Server Core는 SP1 이상에서 지원됨), Windows Server 2003 SP2

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
표시: