Rumah >pembangunan bahagian belakang >C++ >Apakah Maksud Tanda Soalan Apabila Digunakan dengan Jenis Nilai dalam C#?

Apakah Maksud Tanda Soalan Apabila Digunakan dengan Jenis Nilai dalam C#?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-26 08:56:09134semak imbas

What Does the Question Mark Mean When Used with Value Types in C#?

Peranan tanda soal dalam jenis nilai C#

Walaupun tanda soal biasanya digunakan dalam pernyataan bersyarat (cth., x ? "ya" : "tidak" ), ia juga mempunyai tujuan yang berbeza dalam konteks jenis nilai.

Jenis nilai boleh batal

Dalam C#, tanda soal selepas jenis nilai (contohnya, int? myVariable) menunjukkan bahawa jenis nilai boleh dibatalkan. Ini bermakna ia boleh mewakili bukan sahaja julat nilai standard jenis data asas, tetapi juga nilai nol khas.

Sebagai contoh, Nullable boleh mengambil sebarang nilai integer antara -2,147,483,648 dan 2,147,483,647, dan juga boleh diberikan nilai nol. Jenis nullable amat berguna apabila berurusan dengan pangkalan data atau situasi lain di mana data mungkin hilang atau tidak ditetapkan.

Kelebihan jenis nullable

Jenis nullable mempunyai kelebihan berikut:

  • Perwakilan tepat bagi data yang tidak diketahui: Mereka membenarkan nilai yang hilang atau tidak ditetapkan diwakili dengan betul dalam struktur data.
  • Penugasan nilai null yang selamat: Gunakan jenis nullable untuk memastikan nilai null ​​dikendalikan secara eksplisit, sekali gus mengelakkan ralat dan ranap sistem.
  • Pengendalian nilai null yang konsisten: Jenis nullable menyediakan cara yang konsisten untuk mengendalikan nilai null, memudahkan pembangunan dan penyelenggaraan kod.

Contoh penggunaan

Coretan kod berikut menunjukkan penggunaan nilai integer nullable:

<code class="language-csharp">class NullableExample
{
  static void Main()
  {
    int? num = null;

    if (num.HasValue)
      System.Console.WriteLine("num = " + num.Value);
    else
      System.Console.WriteLine("num = Null");

    int y = num.GetValueOrDefault();

    try
    {
      y = num.Value;
    }
    catch (System.InvalidOperationException e)
    {
      System.Console.WriteLine(e.Message);
    }
  }
}</code>

Atas ialah kandungan terperinci Apakah Maksud Tanda Soalan Apabila Digunakan dengan Jenis Nilai dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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