12.1 笔记

一、String.IsNullOrEmpty  和  String.IsNullOrWhiteSpace

在C#编程过程中,很多时候需要判断传入过来的字符串是否为Null或者空字符或者空白字符,此时就可以使用到string.IsNullOrWhiteSpace方法来判断,如果字符串为null或者空字符Empty的时候,string.IsNullOrWhiteSpace将会返回true,否则返回false。string.IsNullOrWhiteSpace的方法签名格式为string.IsNullOrEmpty(strValue),strValue代表你需要判断的字符信息。和方法string.IsNullOrEmpty方法相比,string.IsNullOrWhiteSpace方法还判断全是空格的那种空白字符串。

a、String.IsNullOrEmpty方法:指示指定的字符串是 null 还是 Empty 字符串。IsNullOrEmpty是一种便利方法,可用于同时测试String是否是null或其值为Empty。

 它等效于以下代码︰result = s == null || s == String.Empty;

b、String.IsNullOrWhiteSpace方法:指示指定的字符串是 null、空还是仅由空白字符组成。

IsNullOrWhiteSpace是具有类似于下面的代码,只不过它提供优越性能的便捷方法︰return String.IsNullOrEmpty(value) || value.Trim().Length == 0;

二、序列化

a、序列化是通过将对象转换为字节流,从而存储对象或将对象传输到内存,数据库或文件的过程。主要用途是保存对象的状态,包括对象的数据,以便能够在需要是重建对象。反向过程称为 反序列化。

 

如上图所示,对象 object 被序列化为 流,其中不仅包含数据、还包含对象类型的相关信息,如版本、区域性和程序集名称。然后可以将此流中的内容存储到数据库、文件或内存中。

b、序列化的用途:通过序列化,可以执行如下操作:通过 Web 服务将对象发送到远程应用程序、在域之间传递对象、以 XML 字符串的形式传递对象通过防火墙、跨应用程序维护安全性或用户专属信息。

c、让对象可序列化:

需要具有对象、包含已序列化对象的一个流,以及一个 Fromatter。

System.Runtime.Serialization 包含序列化和反序列化对象所必须的类。

将 SerializableAttribute 特性应用于某个类型,以表示此类型的实例可以被序列化,如果对没有 SerializableAttribute 特性的类型进行序列化,则会引发异常。

如果想让类中的某个字段不可序列化,可以使用 NonSerializedAttribute 特性。

d、序列化的三种类型--二进制、XML、JSON

可以使用二进制 binary 或 XML 进行序列化,在 二进制序列化中,所有内容都会被序列化,且性能也很好,使用二进制编码来生成精简的序列化,可以用于基于存储或socket的网络流。

XML 序列化可提高可读性,以及对象共享和使用的灵活性,XML 序列化将对象的公共字段和属性或方法的参数和返回值序列化成符合特定 XML 格式的流,

System.Xml.Serialization 包含序列化和反序列化 XML 所需要的类。

posted @ 2021-12-01 11:18  木月浅  阅读(42)  评论(0)    收藏  举报