基本上我希望能够有一个接受Nullable Type的函数然后返回值,如果它有一个或字符串值为“NULL”,如果它为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;
}
答案 0 :(得分:2)
static string MyFunction<T>(Nullable<T> arg) where T : struct
{
String strNULL = "NULL";
if (arg.HasValue)
return arg.Value.ToString();
else
return strNULL;
}