零碎知识点

关于 ? 和 ??

int? p = null;

int res = p * 2 ?? 5;

?代表这个类型是可空的,而??是为了应对当出现空值的时候所默认的值

可空类型总是基于另一个叫做基础类型的已经被声明的类型

可以从任何值类型创建可空类型. 包括预定义的简单类型

不能从引用类型或其他可空类型创建可空类型

不能在代码中显示声明可空类型, 只能声明可空类型的变量 .

浅比较和深比较(引用类型)

浅比较:   如果引用类型相等,内存中指向同一个对象,那么返回ture,否则为false,即便两个对象的其他方面都完全相等

深比较:  委托比较 引用类型是否拥有相容的数目的成员,并且调用列表相匹配,那么返回true.   string的比较也是深比较,它们比较字符串长度和大小写敏感内容

带有命名空间名称和类名的整体字符串被称为完全限定名

无用字段别序列化

节省空间,类型在序列化后往往会存储在某个地方,如数据库,硬盘或内存中,如果一个字段在反序列化后不需要保持状态,那它就不应该被序列化,这会占用宝贵的空间资源,

反序列化后字段信息已经没有意义了.

由于业务原因不允许被序列化.列入明文密码不应该被序列化后一同保存在文件中.

如果字段本身所对应的类型在代码中未被设定为可序列化,那它就该标注为不可序列化

类型被添加Serializable属性后,默认所有的字段全部能够被序列化.

特性 Attribute

可以声明式地为代码中的目标元素添加注解.运行时可以通过查询这些托管模块中的元数据信息,达到改变目标元素运行时行为的目的.

其中System.Runtime.Seriazation有以下四个特性:

OnDeseralizedAttribute,当它应用于某方法时,会指定在对象反序列化后立即调用此方法

OnDeseralizingAttribute, 当它应用于某方法时,会指定在反序列化对象时调用此方法

OnSerializedAttribute ,如果对象使徒应用于某方法,则应指定在序列化该对象后是否调用该方法.

OnSeralizingAttrubute,当它应用于某个方法时,会指定在对象序列化前调用此方法.

时间: 2024-10-05 04:24:25

零碎知识点的相关文章

JAVA零碎知识点

总结的JAVA零碎知识点 学习和工作中总会有一些零碎的知识点,可能不经常用到或者以前不熟知,在此记录一下. 一.有关Lamda表达式 Lamda表达式是1.8新增特性,所以使用前请确定项目JDK版本是否支持. Lamda主要解决匿名内部类和函数的啰嗦语句问题,比如曾经的Jframe的Jbutton监听事件addActionListener JButton jb = new JButton("click"); jb.addActionListener(new ActionListener

动画里关于 CALayer 的一些零碎知识点

重温了一下<IOS 7 Programming: Pushing the Limits>这本书,有许多零碎的知识点,记录一下,勉强算作是学习笔记吧. CALayer Part 1 动画的基本单元就是 UIView,它是非常重量级的对象,所以不能多用.但你又想让你的 UI 看起来更酷,那就需要使用 Core Animation 了.Core Animation 中最基础也最重要的部分就是CALayer . 设置 CALayer 就是设置图层的 contents 属性.和 UIView 不一样,U

11、网页制作Dreamweaver(补充:JS零碎知识点&amp;&amp;正则表达式)

JS知识点 回车符/r和换行符/n的区别:/r 相当于enter,是段落与段落之间的区别, /n 相当于shift+enter,是行与行之间距离,比较小 几种window操作方法: 1.获取当前窗口大小并打印: var height=window.innerHeight; var width = window.innerWidth; document.write("<br/>"+"height"+height+","+"wi

iOS开发零碎知识点

记录一些常用和不常用的iOS知识点,防止遗忘丢失.(来源为收集自己项目中用到的或者整理看到博客中的知识点),如有错误,欢迎大家批评指正:如有好的知识点,也欢迎大家联系我,添加上去.谢谢! 一.调用代码使APP进入后台,达到点击Home键的效果.(私有API) [[UIApplication sharedApplication] performSelector:@selector(suspend)]; suspend的英文意思有:暂停; 悬; 挂; 延缓; 二.带有中文的URL处理. 大概举个例子

java 零碎知识点

1. 字符串有整型的相互转换 1 2 String a = String.valueOf(2);   //integer to numeric string  int i = Integer.parseInt(a); //numeric string to an int 2. 向文件末尾添加内容 1 2 3 4 5 6 7 8 9 10 11 BufferedWriter out = null;  try {      out = new BufferedWriter(new FileWrite

MVC零碎知识点记录

--------------------------------------------------------------------------------------------------------- 在html文件中嵌入服务器代码: <div> <!--单行(Single Line)标记--> @{ var name = "Slark";} @{ Response.Write("Single Line : Name is" + n

Java中一些零碎知识点集合(后续补充)

-----------------------------------关于封装------------------------------------- 封装原则 将不需要对外提供的内容隐藏起来. 把属性隐藏,提供公共方法对其进行访问.之所以对某些信息进行封装然后提供公共接口让外人进行访问,是因为可以对访问操作方式进行控制,来规范用户输入的数据,限制不合理信息,提高代码的健壮性. -----------------------------------构造函数方法-----------------

2015.03 零碎知识点

03-24 1. 图片作为bar的图标时会受tintColor影响,如果需要显示图片本身的颜色 UIImage *image = [[UIImage imageNamed:name] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 2. 有时需求UIWebView禁用滚动并嵌入UIScrollView(或其子类)中,此时需要获取webView内容的高度,下面是其中一种方法 CGFloat contentHeight = [[

JAVA_零碎知识点

1.什么是类?什么是对象? 不深究官方的文档解释!个人觉得"我是一个人",这可以理解为是一个对象,"我是一个会打球,会编程,会泡妞的人",这就是一个类!! 2.一个java文件中是否可以包含多个"类"(不包括内部类)? 可以包含多个类,但是只能含有一个public类,且类名要跟文件名相同! 3.&和&&的区别? &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为t