Baca dalam bahasa Inggris

Bagikan melalui


Environment.GetEnvironmentVariables Metode

Definisi

Mengambil semua nama variabel lingkungan dan nilainya.

Overload

GetEnvironmentVariables()

Mengambil semua nama variabel lingkungan dan nilainya dari proses saat ini.

GetEnvironmentVariables(EnvironmentVariableTarget)

Mengambil semua nama variabel lingkungan dan nilainya dari proses saat ini, atau dari kunci registri sistem operasi Windows untuk pengguna atau komputer lokal saat ini.

GetEnvironmentVariables()

Sumber:
Environment.Variables.Windows.cs
Sumber:
Environment.Variables.Windows.cs
Sumber:
Environment.Variables.Windows.cs

Mengambil semua nama variabel lingkungan dan nilainya dari proses saat ini.

public static System.Collections.IDictionary GetEnvironmentVariables();

Mengembalikan

Kamus yang berisi semua nama variabel lingkungan dan nilainya; jika tidak, kamus kosong jika tidak ada variabel lingkungan yang ditemukan.

Pengecualian

Pemanggil tidak memiliki izin yang diperlukan untuk melakukan operasi ini.

Buffer kehabisan memori.

Contoh

Contoh berikut menunjukkan GetEnvironmentVariables metode .

// Sample for the Environment.GetEnvironmentVariables method
using System;
using System.Collections;

class Sample
{
    public static void Main()
    {
       Console.WriteLine();
       Console.WriteLine("GetEnvironmentVariables: ");
       foreach (DictionaryEntry de in Environment.GetEnvironmentVariables())
           Console.WriteLine("  {0} = {1}", de.Key, de.Value);
    }
}
// Output from the example is not shown, since it is:
//    Lengthy.
//    Specific to the machine on which the example is run.
//    May reveal information that should remain secure.

Keterangan

Nama dan nilai untuk variabel lingkungan disimpan sebagai pasangan kunci-nilai dalam yang dikembalikan IDictionary.

Pada sistem Windows

Pada sistem Windows, GetEnvironmentVariables metode mengembalikan variabel lingkungan berikut:

Pada sistem seperti Unix

Pada sistem seperti Unix, GetEnvironmentVariables metode mengambil nama dan nilai semua variabel lingkungan yang diwarisi dari proses induk yang meluncurkan dotnet proses atau yang ditentukan dalam cakupan proses itu dotnet sendiri. dotnet Setelah proses berakhir, variabel lingkungan terakhir ini tidak ada lagi.

.NET yang berjalan pada sistem seperti Unix tidak mendukung variabel lingkungan per mesin atau per pengguna.

Catatan

Pada sistem seperti Unix, modifikasi lingkungan dalam proses yang dibuat oleh pustaka asli tidak dilihat oleh penelepon terkelola.

Lihat juga

Berlaku untuk

.NET 10 dan versi lainnya
Produk Versi
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

GetEnvironmentVariables(EnvironmentVariableTarget)

Sumber:
Environment.cs
Sumber:
Environment.cs
Sumber:
Environment.cs

Mengambil semua nama variabel lingkungan dan nilainya dari proses saat ini, atau dari kunci registri sistem operasi Windows untuk pengguna atau komputer lokal saat ini.

public static System.Collections.IDictionary GetEnvironmentVariables(EnvironmentVariableTarget target);

Parameter

target
EnvironmentVariableTarget

Salah EnvironmentVariableTarget satu nilai. Hanya Process didukung pada .NET yang berjalan pada sistem seperti Unix.

Mengembalikan

Kamus yang berisi semua nama variabel lingkungan dan nilainya dari sumber yang ditentukan oleh target parameter; jika tidak, kamus kosong jika tidak ada variabel lingkungan yang ditemukan.

Pengecualian

Pemanggil tidak memiliki izin yang diperlukan untuk melakukan operasi ini untuk nilai yang ditentukan dari target.

target berisi nilai ilegal.

Contoh

Contoh berikut membuat variabel lingkungan untuk EnvironmentVariableTarget.Processtarget , , EnvironmentVariableTarget.Userdan Machine , memeriksa apakah registri sistem operasi berisi variabel lingkungan pengguna dan mesin, lalu menghapus variabel lingkungan. Karena .NET pada sistem seperti Unix tidak mendukung variabel lingkungan per pengguna dan per komputer, hanya SetEnvironmentVariable(String, String) dan SetEnvironmentVariable(String, String, EnvironmentVariableTarget) dengan nilai EnvironmentVariableTarget.Process berhasil menyimpan variabel lingkungan ke blok lingkungan proses.

using System;
using System.Collections;
using Microsoft.Win32;

class Sample
{
    public static void Main()
    {
        // Environment variable names for default, process, user, and machine targets.
        string defaultEnvVar = nameof(defaultEnvVar);
        string processEnvVar = nameof(processEnvVar);
        string userEnvVar = nameof(userEnvVar);
        string machineEnvVar = nameof(machineEnvVar);

        string dft = nameof(dft);
        string process = nameof(process);
        string user = nameof(user);
        string machine = nameof(machine);

        // Set the environment variable for each target.
        Console.WriteLine("Setting environment variables for each target...\n");
        // The default target (the current process).
        Environment.SetEnvironmentVariable(defaultEnvVar, dft);
        // The current process.
        Environment.SetEnvironmentVariable(processEnvVar, process,
                                           EnvironmentVariableTarget.Process);
        // The current user.
        Environment.SetEnvironmentVariable(userEnvVar, user,
                                           EnvironmentVariableTarget.User);
        // The local machine.
        Environment.SetEnvironmentVariable(machineEnvVar, machine,
                                           EnvironmentVariableTarget.Machine);

        // Define an array of environment variables.
        string[] envVars = { defaultEnvVar,processEnvVar, userEnvVar, machineEnvVar };

        // Try to get the environment variables from each target.
        // The default (no specified target).
        Console.WriteLine("Retrieving environment variables from the default target:");
        foreach (var envVar in envVars)
        {
          var value = Environment.GetEnvironmentVariable(envVar) ?? "(none)";
          Console.WriteLine($"   {envVar}: {value}");
        }
        // The process block.
        Console.WriteLine("\nRetrieving environment variables from the Process target:");
        foreach (var envVar in envVars)
        {
          var value = Environment.GetEnvironmentVariable(envVar, EnvironmentVariableTarget.Process) ?? "(none)";
          Console.WriteLine($"   {envVar}: {value}");
        }
        // The user block.
        Console.WriteLine("\nRetrieving environment variables from the User target:");
        foreach (var envVar in envVars)
        {
          var value = Environment.GetEnvironmentVariable(envVar, EnvironmentVariableTarget.User) ?? "(none)";
          Console.WriteLine($"   {envVar}: {value}");
        }
        // The machine block.
        Console.WriteLine("\nRetrieving environment variables from the Machine target:");
        foreach (var envVar in envVars)
        {
          var value = Environment.GetEnvironmentVariable(envVar, EnvironmentVariableTarget.Machine) ?? "(none)";
          Console.WriteLine($"   {envVar}: {value}");
        }

        // Delete the environment variable for each target.
        Console.WriteLine("\nDeleting environment variables for each target...\n");
        // The default target (the current process).
        Environment.SetEnvironmentVariable(defaultEnvVar, null);
        // The current process.
        Environment.SetEnvironmentVariable(processEnvVar, null,
                                           EnvironmentVariableTarget.Process);
        // The current user.
        Environment.SetEnvironmentVariable(userEnvVar, null,
                                           EnvironmentVariableTarget.User);
        // The local machine.
        Environment.SetEnvironmentVariable(machineEnvVar, null,
                                           EnvironmentVariableTarget.Machine);
    }
}
// The example displays the following output if run on a Windows system:
//      Setting environment variables for each target...
//
//      Retrieving environment variables from the default target:
//        defaultEnvVar: dft
//        processEnvVar: process
//        userEnvVar: user
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the Process target:
//        defaultEnvVar: dft
//        processEnvVar: process
//        userEnvVar: user
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the User target:
//        defaultEnvVar: (none)
//        processEnvVar: (none)
//        userEnvVar: user
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the Machine target:
//        defaultEnvVar: (none)
//        processEnvVar: (none)
//        userEnvVar: (none)
//        machineEnvVar: machine
//
//      Deleting environment variables for each target...
//
// The example displays the following output if run on a Unix-based system:
//
//      Setting environment variables for each target...
//
//      Retrieving environment variables from the default target:
//        defaultEnvVar: dft
//        processEnvVar: process
//        userEnvVar: (none)
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the Process target:
//        defaultEnvVar: dft
//        processEnvVar: process
//        userEnvVar: (none)
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the User target:
//        defaultEnvVar: (none)
//        processEnvVar: (none)
//        userEnvVar: (none)
//        machineEnvVar: (none)
//
//      Retrieving environment variables from the Machine target:
//        defaultEnvVar: (none)
//        processEnvVar: (none)
//        userEnvVar: (none)
//        machineEnvVar: (none)
//
//      Deleting environment variables for each target...

Keterangan

Nama dan nilai variabel lingkungan disimpan sebagai pasangan kunci/nilai dalam objek yang dikembalikan IDictionary .

Pada sistem Windows

Pada sistem Windows, target parameter menentukan apakah sumber adalah proses saat ini, kunci registri untuk pengguna saat ini, atau kunci registri untuk komputer lokal.

Pada sistem seperti Unix

Pada sistem seperti Unix, hanya nilai EnvironmentVariableTarget.Process yang target didukung. Variabel lingkungan per proses diwarisi dari proses induk (biasanya shell) yang digunakan untuk meluncurkan dotnet proses atau didefinisikan dalam cakupan proses itu dotnet sendiri. Setelah proses dotnet berakhir, variabel lingkungan terakhir ini berhenti ada.

Variabel lingkungan per mesin dan per pengguna tidak didukung. Nilai targetEnvironmentVariableTarget.Machine atau EnvironmentVariableTarget.User mengembalikan array kosong.

Catatan

Pada sistem seperti Unix, modifikasi lingkungan dalam proses yang dibuat oleh pustaka asli tidak dilihat oleh penelepon terkelola.

Lihat juga

Berlaku untuk

.NET 10 dan versi lainnya
Produk Versi
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1