内存模型与XML处理
发布时间:2020-12-15 22:37:47 所属栏目:百科 来源:网络整理
导读:1、 简单复习- 方法中的变量是要确定内存大小:引用类型2、 对象的创建方式MyClass m = new MyClass();- new创建了对象(newobj)- 构造方法只是做了初始化- 首先new向操作系统申请内存- 计算构造方法的继承关系中所有字段的字节数. 预算满足"字节数 + 常量 +
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序列化 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |