default value for generic type in c#

43,178

Solution 1

You are looking for this:

default(T);

so:

public T Foo<T>(T Bar)
{
   return default(T);
}

Solution 2

default(T);

Solution 3

Using the default keyword:

T t = default(T)
Share:
43,178
Tjkoopa
Author by

Tjkoopa

For me, fun is taking a program, language, whatever and making it do things it's designer never envisioned it doing. It comes in handy when I'm asked to do something a little outside the norm as part of my job.

Updated on March 14, 2020

Comments

  • Tjkoopa
    Tjkoopa over 4 years

    The docs for Dictionary.TryGetValue say:

    When this method returns, [the value argument] contains the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized.

    I need to mimic this in my class. How do I find the default value for type T?


    How can this question be modified to make it show up in the search?

    Exact duplicate of Returning a default value. (C#)