Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Jenis Nullable Boleh Digunakan sebagai Parameter Generik untuk Fungsi Jenis Nilai Mengendalikan Nilai Null Berpotensi daripada DbDataRecords?

Bagaimanakah Jenis Nullable Boleh Digunakan sebagai Parameter Generik untuk Fungsi Jenis Nilai Mengendalikan Nilai Null Berpotensi daripada DbDataRecords?

Mary-Kate Olsen
Lepaskan: 2025-01-05 12:45:47
asal
479 orang telah melayarinya

How Can Nullable Types Be Used as Generic Parameters for Value-Type Functions Handling Potential Null Values from DbDataRecords?

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 dan gunakan fungsi dengan parameter yang tidak boleh dibatalkan. Kod yang disemak ialah:

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;
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan