代码之家  ›  专栏  ›  技术社区  ›  Luke101

如何检查对象是否为空

c#
  •  0
  • Luke101  · 技术社区  · 14 年前

    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值被检查为never null时不起作用。

    请看我在回答中的帖子

    2 回复  |  直到 14 年前
        1
  •  2
  •   Luke101    14 年前

    好吧,我已经弄明白了。我查看了异常的详细信息,它希望对象类是可序列化的。我让这个类可以序列化,而且很管用

    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; }
    }
    
        2
  •  1
  •   Dan Tao    14 年前

    obj 只有上面几行不为空,则不为空。如果你得到一个 NullReferenceException 很可能是因为什么原因 其他的 Serialize 方法本身。