Bagaimana saya memeriksa untuk melihat apakah Pengaturan Aplikasi tersedia?
yaitu app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key ="someKey" value="someValue"/>
</appSettings>
</configuration>
dan di filefile
if (ConfigurationManager.AppSettings.ContainsKey("someKey"))
{
// Do Something
}else{
// Do Something Else
}
c#
appsettings
configurationmanager
bitcycle
sumber
sumber
Dim configValue As String = Util.IsNull(ConfigurationManager.AppSettings.Get("SettingName"), String.Empty)
sumber
Nilai default yang dikembalikan dengan aman melalui obat generik dan LINQ.
Digunakan sebagai berikut:
sumber
ConfigurationManager.AppSettings
tidak case-sensitive,Any(key => key == MyKey
namunusing System.ComponentModel;
pernyataan ke kelas Anda untuk mendukung penggunaanTypeDescriptor
kelas.sumber
Jika kunci yang Anda cari tidak ada dalam file konfigurasi, Anda tidak akan dapat mengonversinya menjadi string dengan .ToString () karena nilainya akan nol dan Anda akan mendapatkan "Referensi objek tidak disetel ke instance dari objek "kesalahan. Yang terbaik adalah pertama-tama melihat apakah nilainya ada sebelum mencoba untuk mendapatkan representasi string.
Atau, seperti yang disarankan Code Monkey:
sumber
Opsi atas memberi keleluasaan untuk segala hal, jika Anda tahu tipe kunci, coba parsing
bool.TryParse(ConfigurationManager.AppSettings["myKey"], out myvariable);
sumber
Saya pikir ungkapan LINQ mungkin yang terbaik:
sumber
ConfigurationManager.AppSettings
tidak case-sensitive,Any(key => key == MyKey
namunSaya menyukai jawaban codebender , tetapi membutuhkannya untuk bekerja di C ++ / CLI. Inilah yang akhirnya saya lakukan. Tidak ada penggunaan LINQ, tetapi berfungsi.
sumber
Menggunakan sintaks c # baru dengan TryParse bekerja dengan baik untuk saya:
sumber