C#-এ DateTime? সিনট্যাক্স ব্যবহার করে নালেবল DateTime ঘোষণা করা যায়। এটি DateTime টাইপে null মান অ্যাসাইন করার অনুমতি দেয়। নালেবল টাইপগুলো মান টাইপের জন্য বিশেষভাবে উপকারী যাতে তারা "কোনো মান নেই" বা অনুপস্থিত মান প্রকাশ করতে পারে।
উদাহরণ
using System;
class Program
{
static void Main()
{
DateTime? dt = null;
DateFunc(dt);
dt = DateTime.Now;
DateFunc(dt);
dt = null;
Console.WriteLine(dt.GetValueOrDefault());
}
static void DateFunc(DateTime? dt)
{
if (dt.HasValue)
{
Console.WriteLine(dt.Value);
}
else
{
Console.WriteLine(0);
}
}
}
আউটপুট
0 9/17/2018 8:27:07 AM 1/1/0001 12:00:00 AM
HasValue প্রোপার্টি দিয়ে মান আছে কিনা চেক করা যায় এবং Value প্রোপার্টি দিয়ে প্রকৃত মান পাওয়া যায়। GetValueOrDefault() মেথড মান না থাকলে ডিফল্ট মান (DateTime.MinValue) ফেরত দেয়।