Membenarkan Jenis Boleh Null sebagai Parameter Generik untuk Fungsi Jenis Nilai
Pertimbangkan keperluan untuk mendapatkan semula nilai daripada DbDataRecords dengan kemungkinan nilai nol. Percubaan untuk menggunakan jenis nullable sebagai parameter generik pada mulanya membawa kepada ralat yang menunjukkan bahawa jenis nullable mestilah jenis rujukan. Selepas itu, menukar kekangan kepada struct menghasilkan satu lagi ralat yang menyatakan bahawa jenis nullable mestilah tidak boleh null.
Untuk menangani isu ini, penyelesaiannya adalah untuk mengubah suai jenis return kepada Nullable
static void Main(string[] args) { int? i = GetValueOrNull<int>(null, string.Empty); } public static Nullable<T> GetValueOrNull<T>(DbDataRecord reader, string columnName) where T : struct { object columnValue = reader[columnName]; if (!(columnValue is DBNull)) return (T)columnValue; return null; }
Kini, jenis nullable boleh berfungsi sebagai parameter generik untuk fungsi mengendalikan jenis nilai, sambil membenarkan kemungkinan nilai nol semasa operasi yang melibatkan DbDataRecords.
Atas ialah kandungan terperinci Bagaimanakah Jenis Nullable Boleh Digunakan sebagai Parameter Generik untuk Fungsi Jenis Nilai Mengendalikan Nilai Null Berpotensi daripada DbDataRecords?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!