C#实现对象序列化的三种方式
发布网友
发布时间:2024-09-25 22:23
我来回答
共1个回答
热心网友
时间:2024-09-28 23:03
最近有些学员向我咨询了关于序列化的问题,今天这篇文章将为大家介绍在C#上位机开发中常用的三种序列化方法。
提到序列化,很多人首先想到的是二进制序列化,但实际上,序列化有三种常见方式:二进制序列化、XML序列化和JSON序列化。每种方式都有其独特的优势和局限性,具体应用时应根据实际情况进行选择。
在实现序列化之前,我们需要做一些准备工作。C#序列化涉及对象与字符串(文件)之间的相互转换。首先,我们准备好一个实体类,例如简单的Student类:
这里我重写了ToString方法,便于后续测试时直观地查看对象值是否正确。
同时,我们准备好一个Student对象,后续将对它进行操作。
二进制序列化及反序列化的主要方式是使用BinaryFormatter类。序列化代码如下:
反序列化代码如下:
最终执行结果如下:
我们可以看到二进制序列化的结果是乱码,但可以通过反序列化获得转换后的结果。这种方法使用简单,甚至具有加密功能,但也有一些不足。
XML序列化可以提高可读性,以及对象共享和使用的灵活性。XML序列化将对象的公共字段和属性或方法的参数和返回值序列化为符合特定XML格式的流。XML序列化代码如下:
XML反序列化代码如下:
最终执行结果如下:
我们可以直观地看到XML序列化的结果,可读性大大增强,但XML也存在自身不足。
JSON序列化是目前广泛使用的一种方式。实现JSON序列化的方式有很多,我一般会使用NewSoft.Json库。通过Nuget搜索并安装该库。JSON序列化代码如下:
JSON反序列化代码如下:
最终执行结果如下:
我们可以看到JSON方式除了可读性增强外,结果也更加简洁。
热心网友
时间:2024-09-28 23:03
最近有些学员向我咨询了关于序列化的问题,今天这篇文章将为大家介绍在C#上位机开发中常用的三种序列化方法。
提到序列化,很多人首先想到的是二进制序列化,但实际上,序列化有三种常见方式:二进制序列化、XML序列化和JSON序列化。每种方式都有其独特的优势和局限性,具体应用时应根据实际情况进行选择。
在实现序列化之前,我们需要做一些准备工作。C#序列化涉及对象与字符串(文件)之间的相互转换。首先,我们准备好一个实体类,例如简单的Student类:
这里我重写了ToString方法,便于后续测试时直观地查看对象值是否正确。
同时,我们准备好一个Student对象,后续将对它进行操作。
二进制序列化及反序列化的主要方式是使用BinaryFormatter类。序列化代码如下:
反序列化代码如下:
最终执行结果如下:
我们可以看到二进制序列化的结果是乱码,但可以通过反序列化获得转换后的结果。这种方法使用简单,甚至具有加密功能,但也有一些不足。
XML序列化可以提高可读性,以及对象共享和使用的灵活性。XML序列化将对象的公共字段和属性或方法的参数和返回值序列化为符合特定XML格式的流。XML序列化代码如下:
XML反序列化代码如下:
最终执行结果如下:
我们可以直观地看到XML序列化的结果,可读性大大增强,但XML也存在自身不足。
JSON序列化是目前广泛使用的一种方式。实现JSON序列化的方式有很多,我一般会使用NewSoft.Json库。通过Nuget搜索并安装该库。JSON序列化代码如下:
JSON反序列化代码如下:
最终执行结果如下:
我们可以看到JSON方式除了可读性增强外,结果也更加简洁。
热心网友
时间:2024-09-28 23:03
最近有些学员向我咨询了关于序列化的问题,今天这篇文章将为大家介绍在C#上位机开发中常用的三种序列化方法。
提到序列化,很多人首先想到的是二进制序列化,但实际上,序列化有三种常见方式:二进制序列化、XML序列化和JSON序列化。每种方式都有其独特的优势和局限性,具体应用时应根据实际情况进行选择。
在实现序列化之前,我们需要做一些准备工作。C#序列化涉及对象与字符串(文件)之间的相互转换。首先,我们准备好一个实体类,例如简单的Student类:
这里我重写了ToString方法,便于后续测试时直观地查看对象值是否正确。
同时,我们准备好一个Student对象,后续将对它进行操作。
二进制序列化及反序列化的主要方式是使用BinaryFormatter类。序列化代码如下:
反序列化代码如下:
最终执行结果如下:
我们可以看到二进制序列化的结果是乱码,但可以通过反序列化获得转换后的结果。这种方法使用简单,甚至具有加密功能,但也有一些不足。
XML序列化可以提高可读性,以及对象共享和使用的灵活性。XML序列化将对象的公共字段和属性或方法的参数和返回值序列化为符合特定XML格式的流。XML序列化代码如下:
XML反序列化代码如下:
最终执行结果如下:
我们可以直观地看到XML序列化的结果,可读性大大增强,但XML也存在自身不足。
JSON序列化是目前广泛使用的一种方式。实现JSON序列化的方式有很多,我一般会使用NewSoft.Json库。通过Nuget搜索并安装该库。JSON序列化代码如下:
JSON反序列化代码如下:
最终执行结果如下:
我们可以看到JSON方式除了可读性增强外,结果也更加简洁。
热心网友
时间:2024-09-28 23:03
最近有些学员向我咨询了关于序列化的问题,今天这篇文章将为大家介绍在C#上位机开发中常用的三种序列化方法。
提到序列化,很多人首先想到的是二进制序列化,但实际上,序列化有三种常见方式:二进制序列化、XML序列化和JSON序列化。每种方式都有其独特的优势和局限性,具体应用时应根据实际情况进行选择。
在实现序列化之前,我们需要做一些准备工作。C#序列化涉及对象与字符串(文件)之间的相互转换。首先,我们准备好一个实体类,例如简单的Student类:
这里我重写了ToString方法,便于后续测试时直观地查看对象值是否正确。
同时,我们准备好一个Student对象,后续将对它进行操作。
二进制序列化及反序列化的主要方式是使用BinaryFormatter类。序列化代码如下:
反序列化代码如下:
最终执行结果如下:
我们可以看到二进制序列化的结果是乱码,但可以通过反序列化获得转换后的结果。这种方法使用简单,甚至具有加密功能,但也有一些不足。
XML序列化可以提高可读性,以及对象共享和使用的灵活性。XML序列化将对象的公共字段和属性或方法的参数和返回值序列化为符合特定XML格式的流。XML序列化代码如下:
XML反序列化代码如下:
最终执行结果如下:
我们可以直观地看到XML序列化的结果,可读性大大增强,但XML也存在自身不足。
JSON序列化是目前广泛使用的一种方式。实现JSON序列化的方式有很多,我一般会使用NewSoft.Json库。通过Nuget搜索并安装该库。JSON序列化代码如下:
JSON反序列化代码如下:
最终执行结果如下:
我们可以看到JSON方式除了可读性增强外,结果也更加简洁。
热心网友
时间:2024-09-28 23:04
最近有些学员向我咨询了关于序列化的问题,今天这篇文章将为大家介绍在C#上位机开发中常用的三种序列化方法。
提到序列化,很多人首先想到的是二进制序列化,但实际上,序列化有三种常见方式:二进制序列化、XML序列化和JSON序列化。每种方式都有其独特的优势和局限性,具体应用时应根据实际情况进行选择。
在实现序列化之前,我们需要做一些准备工作。C#序列化涉及对象与字符串(文件)之间的相互转换。首先,我们准备好一个实体类,例如简单的Student类:
这里我重写了ToString方法,便于后续测试时直观地查看对象值是否正确。
同时,我们准备好一个Student对象,后续将对它进行操作。
二进制序列化及反序列化的主要方式是使用BinaryFormatter类。序列化代码如下:
反序列化代码如下:
最终执行结果如下:
我们可以看到二进制序列化的结果是乱码,但可以通过反序列化获得转换后的结果。这种方法使用简单,甚至具有加密功能,但也有一些不足。
XML序列化可以提高可读性,以及对象共享和使用的灵活性。XML序列化将对象的公共字段和属性或方法的参数和返回值序列化为符合特定XML格式的流。XML序列化代码如下:
XML反序列化代码如下:
最终执行结果如下:
我们可以直观地看到XML序列化的结果,可读性大大增强,但XML也存在自身不足。
JSON序列化是目前广泛使用的一种方式。实现JSON序列化的方式有很多,我一般会使用NewSoft.Json库。通过Nuget搜索并安装该库。JSON序列化代码如下:
JSON反序列化代码如下:
最终执行结果如下:
我们可以看到JSON方式除了可读性增强外,结果也更加简洁。