C#.NET如何不序列化字段、属性
-
当我们使用公开属性以及公开字段时,都可以顺利的被序列化,
1234567891011121314151617[Serializable]
public
class
MyClass
{
public
int
ID;
public
string
Address;
private
int
_age;
public
string
Name {
get
;
set
; }
public
int
Age
{
get
{
return
_age; }
set
{ _age = value; }
}
}
Xml序列化成档案后的结果就像下图:
JSON
bin,因为bin档案肉眼看不懂,所以用反序列化表示
但总是会有不想要存成档案的字段或属性
JSON及XML 若是不想被序列化 "属性" 及 "字段" 使用以下Attribute:[System.Xml.Serialization.XmlIgnore]
[System.Web.Script.Serialization.ScriptIgnore]
BinaryFormatter 若是不想被序列化 "属性" 只要在相对应的 "字段" 使用以下:[NonSerialized] 看个例子:123456789101112131415161718192021[Serializable]
public
class
MyClass
{
[NonSerialized]
public
int
ID;
public
string
Address;
[NonSerialized]
private
int
_age;
public
string
Name {
get
;
set
; }
[System.Xml.Serialization.XmlIgnore]
[System.Web.Script.Serialization.ScriptIgnore]
public
int
Age
{
get
{
return
_age; }
set
{ _age = value; }
}
}
Xml序列化,忽略Age属性
JSON序列化,忽略Age属性
BinaryFormatter序列化忽略 Age属性 及 ID 字段
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2014-10-21 NHibernate使用无状态Sessions
2013-10-21 实施CMMI3的体会