我試圖找到一種方法來檢查給定對象的值是否等於其默認值。我環顧四周,並提出了這一點:檢查給定對象(引用或值類型)是否等於其默認值
public static bool IsNullOrDefault<T>(T argument)
{
if (argument is ValueType || argument != null)
{
return object.Equals(argument, default(T));
}
return true;
}
我遇到的問題是,我想這樣稱呼它:
object o = 0;
bool b = Utility.Utility.IsNullOrDefault(o);
是o是一個對象,但我想使其找出基本類型並檢查其默認值。在這種情況下,基類型是一個整數,在這種情況下,我想知道該值是否等於default(int),而不是default(object)。
我開始認爲這可能是不可能的。
爲什麼不把它象變種O = 0; ? – Jethro
我不能這樣做,因爲我從'PropertyInfo'中的'GetValue'方法獲得了值,它只返回一個'object'。 – Brian
[最有效的方法來檢查一個對象是一個值類型]的可能重複(http://stackoverflow.com/questions/5748661/most-efficient-way-to-check-if-an-object-is-a -value-type) – nawfal