基本上我希望能够有一个函数接受一个可空类型,然后如果它有一个值则返回该值,如果它为空则返回字符串值“NULL”,因此该函数需要能够接受任何可空类型,然后返回该类型或返回字符串 NULL。下面是我正在寻找的一个例子,我似乎无法弄清楚就我的功能而言我需要做什么。
UInt16? a = 5;
UInt16? b = null;
UInt32? c = 10;
UInt32? d = null;
Console.WriteLine(MyFunction<UInt16?>(a)) // Writes 5 as UInt16?
Console.WriteLine(MyFunction(UInt16?>(b)) // Writes NULL as String
Console.WriteLine(MyFunction(UInt32?>(c)) // Writes 10 as UInt32?
Console.WriteLine(MyFunction(UInt32?>(d)) // Writes NULL as String
static T MyFunction<T>(T arg)
{
String strNULL = "NULL";
if (arg.HasValue)
return arg;
else
return strNULL;
}