0

基本上我希望能够有一个函数接受一个可空类型,然后如果它有一个值则返回该值,如果它为空则返回字符串值“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;
}
4

1 回答 1

2
static string MyFunction<T>(Nullable<T> arg) where T : struct
{
    String strNULL = "NULL";

    if (arg.HasValue)
        return arg.Value.ToString();
    else
        return strNULL;
}
于 2013-07-30T13:34:35.550 回答