最近在做项目的时候出现了一个错误 当从数据库中获取值的时候 报错:空对象不能转换为值类型 因为数据库你查询数据的时候不是所有的字段都是存在数据的,有些字段可能是Null值,也就是没有数据 当你在类型转换的时候就有可能出现这种错误 在网上也查找了相关的资料,底子也不是特别的好 C#在2.0的使用引用的值类型和引用类型 引用类型可以初始化为NULL 值类型就不可以初始化为NULL 所以在你类型转化的时候,像int,decimal,datetime这种值类型为空的时候就会出现这种错误 我用的是ADO…
package com.imooc; class Student{ public void study(){ System.out.println("学生学习"); } } class StudentDemo{ public Student getStudent(){ return new Student(); } } public class ReturnDemo { public static void main(String[] args){ StudentDemo sd = n…
1.数组动态添值 首先声明一个空数组:var data = new Array(); 向数组中添值 :data.push('添加的值'); 示例:…
引言 本文之初的目的是讲述设计模式中的 Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone其实也就是对象复制.复制又分为了浅度复制(Shallow Copy)和深度复制(Deep Copy),浅度复制和深度复制又是以如何复制引用类型成员来划分的.由此又引出了引用类型和值类型,以及相关的对象判等.装箱.拆箱等基础知识.索性从最基础的类型开始自底向上写起. 值类型和引用类型 先简单回顾一下C#中的类型系统.C# 中的类型一共分为…
接上[No0000B5]C# 类型基础 值类型和引用类型 及其 对象判等 深入研究1 对象复制 有的时候,创建一个对象可能会非常耗时,比如对象需要从远程数据库中获取数据来填充,又或者创建对象需要读取硬盘文件.此时,如果已经有了一个对象,再创建新对象时,可能会采用复制现有对象的方法,而不是重新建一个新的对象. 本节就讨论如何进行对象的复制. 1.浅度复制 浅度复制和深度复制是以如何复制对象的成员(member)来划分的. 一个对象的成员有可能是值类型,有可能是引用类型.当我们对对象进行一个浅度复制…
原文地址:http://www.informit.com/articles/article.aspx?p=1409801&seqNum=4 Debugging Managed Heap Fragmentation Earlier in the chapter, we described a phenomenon known as heap fragmentation, in which free and busy blocks are arranged and interleaved on th…
每个虚拟机都有它自己的对象布局,本文我们将针对sscli源码和windbg调试器来查看不同类型的.net对象布局. 在.net虚拟机里,每个对象都需要保存这些信息: 对象的类型: 对象实例的成员属性(field)值: hash值.锁信息等其他数据结构. 普通对象 在CLR里,对象在托管代码(managed code)和非托管代码(unmanaged code)里有不同的表现形式.在托管代码里,所有对象的基类Object类型是在 clr\src\bcl\system\Object.cs里定义,而其…
本文主要简述一下在Visual Studio中C++对象的内存布局,这里没有什么测试代码,只是以图文的形式来描述一下内存分布,关于测试的代码以及C++对象模型的其他内容大家可以参考一下陈皓先生的几篇博文以及网上的其他一些文章: <C++虚函数表解析>:http://blog.csdn.net/haoel/article/details/1948051 <C++对象的内存布局(上)>:http://blog.csdn.net/haoel/article/details/3081328…
信息来源:csdn     C/C++ 编程语言的最强大功能之一便是其动态分配和释放内存,但是中国有句古话:“最大的长处也可能成为最大的弱点”,那么 C/C++ 应用程序正好印证了这句话.在 C/C++ 应用程序开发过程中,动态分配的内存处理不当是最常见的问题.其中,最难捉摸也最难检测的错误之一就是内存泄漏,即未能正确释放以前分配的内存的错误.偶尔发生的少量内存泄漏可能不会引起我们的注意,但泄漏大量内存的程序或泄漏日益增多的程序可能会表现出各种 各样的征兆:从性能不良(并且逐渐降低)到内存完全耗…
转载地址:http://www.cnitblog.com/martin/archive/2006/04/21/9460.html 首先,应该是MFC报告我们发现内存泄漏.注意:要多运行几次,以确定输出的内容不变,特别是{}之间的数值,不能变,否则下面的方法就不好用了. 我们来看看:     bytes  long . Data:  <            >  1F 1F 1F 1F 1F CD CD CD CD CD  ) 告诉我们MFC认为是在该文件的54行,发生了内存泄漏.你双击改行就…