前端之家收集整理的这篇文章主要介绍了
内存模型与XML处理,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
1、 简单复习
-> 方法中的变量是要确定内存大小:引用类型
2、 对象的创建方式
MyClass m = new MyClass();
-> new创建了对象(newobj)
-> 构造方法只是做了初始化
-> 首先new向操作系统申请内存
-> 计算构造方法的继承关系中所有字段的字节数.
预算满足"字节数 + 常量 + 8"满足被4整除的最小数
-> 如果操作系统内存不够了,报异常
-> 如果内存够了,就返回一个地址
-> 在托管堆中有一个指针最对象的维护
-> 指针对象一般指向一个可用内存,如果申请100字节
那么指针对象会返回当前地址,并下移100字节
-> 在返回100个字节空间的使用,由构造方法将内存初始化,返回首地址
交给引用类型变量
-> 对象创建完毕
3、 ref参数的变量必须声明赋值后再传入方法是用
out参数的变量可以不赋值,但是必须在方法中赋值
值传递:方法内外不同变量
引用传递:方法内外变量相同
装箱(利用Reflector切换到IL,看有几个Box),拆箱
常见交换变量
num1 = num1 + num2;
num2 = num1 - num2;
num1 = num1 - num2;
// 只在C#和java中可以实现
//字符串
num1 = num2 + (num2 = num1).Remove(0);
//数字
//num1 = num2 + (num2 = num1) * 0;
4、 XML
Person(name,birth,sex,phone)
-> 手写XML
-> 使用C#完成xml文件的创建,编辑与删除和查询的功能
5、 手写XML
-> 新建一个文本文件,将其后缀名改为xml
-> 使用记事本将其打开
-> 添加文档头
<?xml version="1.0" encoding="gb2312"?>
-> 添加根节点
<root></root>
<root />
每一个xml文件必须有一个根节点,但是只允许有一个根节点
xml文件是大小写敏感的
-> 使用浏览器将其打开即可查看正确与否
-> 在xml中所有的内容都是节点
-> 节点是有分类的
-> 元素节点
-> 属性节点
-> 文本节点
-> 注释节点
-> 元素节点
-> 命名规范
-> 属性节点
-> 键值对存在
-> 每一个值都要使用双引号括起来
-> 多个属性用空格隔开
-> 命名空间
-> 根节点中出现的 xmlns="url"
xmlns:x="url"
6、 使用C#操作XML
-> DOM操作 document object model
将一个xml文件看作成一个对象,每一个节点也是对象,对象与对象的关系就是父子关系
-> 传统的DOM
命名空间:System.Xml;
类:
XmlDocument
XmlDeclaration
XmlElement
XmlAttribute
XmlText
-> Linq to XML
命名空间:System.Xml.Linq;
类:
XDocument
XElement
XAttribute
XName
-> 事件驱动
XmlTextReader
XmlTextWriter
-> 序列化(所谓序列化就是格式化,安照某种格式进行排列)
Xml序列化
1. 创建一个流
2. 使用XmlSerializer对象(typeof处理需要序列化的类型)
3. 使用Serialize()方法
JavaScript序列化