如何检查对象是否为空

时间:2010-08-21 05:32:56

标签: c#

这是我的代码:

public static class SerializationUtil
{
    public static string Serialize(object obj)
    {
        if (obj == null)
            return string.Empty;

        StringWriter writer = new StringWriter();
        new System.Web.UI.LosFormatter().Serialize(writer, obj);
        return writer.ToString();
    }

    public static object Deserialize(string data)
    {
        if (data == null)
            return null;
        return (new System.Web.UI.LosFormatter()).Deserialize(data);
    }
}

我遇到的问题是:当我调用serialize方法时,如果obj为null,则会抛出错误。所以我想检查obj值是否为null。我现在所处的代码不起作用,因为当检查obj值时它永远不会为空。

解决:

在答案中查看我的帖子

2 个答案:

答案 0 :(得分:2)

好的,我已经弄清楚了。我查看了异常的细节,并期望对象类可序列化。我使这个类可序列化并且它可以工作

using System;

[Serializable]  //the missing piece
public class RegisterFormData
{
    public string username { get; set; }
    public string pass1 { get; set; }
    public string pass2 { get; set; }
    public string email { get; set; }
    public string firstname { get; set; }
    public string lastname { get; set; }
}

答案 1 :(得分:1)

我真的不认为你所描述的是可能的。如果您已检查obj上面只有几行不为空,则它不为空。如果您收到NullReferenceException,可能是因为 else 为空,可能是Serialize方法本身。