Ist es möglich, den Standardwert von einer Variablen zu erhalten?find default() Wert von Variable
public static int CountNonDefault<T>(this T[] v)
{
int count = 0;
foreach (var item in v)
{
if (item.GetType != default(typeof(item)))
{
count++;
}
}
return count;
}
Ich habe ohne Erfolg folgendes versucht:
item.GetType != default(item.GetType().GetProperty("Value").PropertyType)
item.GetType != default(typeof(item));
item.GetType != default(item.GetType());
Was ist item.GetType zurückkehren? –
Scheint, den richtigen Typ zurückzugeben, aber bei Verschachtelung als Standard (item.GetType()) Compiler ergibt den Fehler "'Element' ist eine Variable, wird aber wie ein Typ verwendet" –
@JamesDudley Keine Notwendigkeit dafür, überprüfen Sie meine Antwort unten . Verwenden Sie einfach 'default (T)' – user3185569