关闭

win10 UWP 序列化

标签: .net.net frameworkUWP
1595人阅读 评论(0) 收藏 举报
分类:

将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

.NET Framework 提供了两个序列化技术:

  • 二进制序列化保持类型保真,这对于多次调用应用程序时保持对象状态非常有用。例如,通过将对象序列化到剪贴板,可在不同的应用程序之间共享对象。您可以将对象序列化到流、磁盘、内存和网络等。远程处理使用序列化,“按值”在计算机或应用程序域之间传递对象。

  • XML 序列化只序列化公共属性和字段,并且不保持类型保真。当您希望提供或使用数据而不限制使用该数据的应用程序时,这一点非常有用。

Binary

首先需要定义一个类,这个类作为保存的类,需要使用特性 Serializable

然后使用 binaryFormatter 他可以写入流

创建一个文件夹,返回和People类,就可以把他保存在本地

             BinaryFormatter binaryFormatter = new BinaryFormatter();
            FileStream stream = new FileStream("./file", FileMode.Create);
            binaryFormatter.Serialize(stream, people);

这就是序列化,如果需要从保存的文件拿出来,可以参见下面代码:

             using (FileStream stream = new FileStream("./file", FileMode.Open))
            {
                people = (People) binaryFormatter.Deserialize(stream);
                Console.WriteLine(people.Name);
            }

可以看到代码都是使用命令行不是使用通用程序

XML序列化

               XmlSerializer xmlSerializer = new XmlSerializer(typeof(People));

            using (FileStream stream = new FileStream("./file", FileMode.Create))
            {
                xmlSerializer.Serialize(stream, people);
            }

            using (FileStream stream = new FileStream("./file", FileMode.Open))
            {
                people = (People)xmlSerializer.Deserialize(stream);
                Console.WriteLine(people);
            }

如果有一些属性需要不显示,也就是不放在文件,可以参见:https://msdn.microsoft.com/zh-cn/library/83y7df3e(v=vs.90).aspx

XmlSerializer 创建 C# 文件并将其编译为 .dll 文件,以执行此序列化。
为了提高性能,XML 序列化基础结构动态生成程序集,以便对指定类型进行序列化和反序列化。该基础结构将找到并重新使用这些程序集。仅当使用以下构造函数时,才会发生此行为:

XmlSerializer.XmlSerializer(Type)

XmlSerializer.XmlSerializer(Type, String)

如果使用任何其他构造函数,则将生成同一个程序集的多个版本,这些版本始终不予卸载

Yaml序列化

首先搜索 YamlDotNet ,安装

这里使用参见 http://www.cnblogs.com/RicCC/archive/2010/03/01/serialization-data-format.html

参见:

win10 uwp json

win10 uwp 读写XML

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

1
1
查看评论

[Unity3D]在UWP工程中使用的序列化方法

Unity3D开发中经常需要保存固化数据到本地,常用的数据序列化格式有XML、Json等,有时也会用到Protobuf。下面会依次讲解如何在UWP工程中使用Json及XML的序列化和反序列化。
  • u012741077
  • u012741077
  • 2016-08-08 22:26
  • 1354

uwp开发之Windows.​Data.​Json解析json

解析json
  • adc_god
  • adc_god
  • 2017-06-01 21:35
  • 708

[Unity3D]适用于UWP的XmlDocument使用方法

本篇演示XmlDocument既可在UWP中使用又可在Unity3D编辑器中使用的方法。
  • u012741077
  • u012741077
  • 2016-08-10 01:39
  • 1478

win10 UWP读写文件

C# uwp应用的文件读写最常见错误就是没有权限。 而最简单的方法是对已知的文件路径进行访问 已知的文件路径常见的是自身的路径 权限这个和之前不同,UWP读写文件多用StorageFile来读写文件 [TOC] StorageFile没有直接的打开一个文件的做法,而是通过StorageFo...
  • lindexi_gd
  • lindexi_gd
  • 2015-10-09 21:58
  • 12598

UWP入门(八)--几个简单的控件

每天看几个,要不聊几天我就可以看完啦,加油!看效果1. CheckBox <TextBlock Grid.Row="0" Text="CheckBox" VerticalAlignment="Center" /> ...
  • u011033906
  • u011033906
  • 2017-03-22 18:40
  • 1618

win10 uwp json

本文讲的是关于在uwp使用json的简单使用,json应用很多,因为我只是写简单使用,说的东西可能不对或者不符合每个人的预期。如果觉得我有讲的不对的,就多多包含,或者直接关掉这篇文章,但是请勿生气或者发怒吐槽,可以在我博客评论 http://blog.csdn.net/lindexi_gd
  • lindexi_gd
  • lindexi_gd
  • 2016-06-29 16:55
  • 4044

win10 UWP 序列化

将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
  • lindexi_gd
  • lindexi_gd
  • 2017-05-30 10:16
  • 1595

WPF对象的XAML序列化

WPF使用XAML来描述用户界面,每个XAML元素往往对应着相应的WPF对象,元素的属性对应着对象的属性。 由于XAML元素与WPF对象之前存在着这种对应关系,其实可以将XAML代码看成是WPF对象“序列化”后的结果。 WPF提供了XamlWriter 和 XamlReader  两个类实...
  • new_smile
  • new_smile
  • 2016-06-08 09:29
  • 1032

win10 uwp 入门

UWP是什么我在这里就不说,本文主要是介绍如何入门UWP,也是合并我写的博客。
  • lindexi_gd
  • lindexi_gd
  • 2016-07-27 08:55
  • 4415

win10 UWP 应用设置

win10 UWP 应用设置 简单的把设置需要的,放到微软自带的LocalSettings LocalSettings.Values可以存放几乎所有数据 如果需要存放复合数据,一个设置项是由多个值组成,可以使用ApplicationDataCompositeValue将多个合并。 存放一个st...
  • lindexi_gd
  • lindexi_gd
  • 2016-01-12 21:01
  • 2355
    个人资料
    • 访问:629215次
    • 积分:9200
    • 等级:
    • 排名:第2408名
    • 原创:240篇
    • 转载:16篇
    • 译文:25篇
    • 评论:240条
    博客专栏
    文章分类
    最新评论