.NET的值类型和引用类型等
2008-05-29 21:39
211 查看
值类型和引用类型
值类型:基本数据类型 结构 枚举
值类型在堆栈空间中分配内存,在进行参数传递时考贝堆栈空间中的内容,所以不会互相影响
引用类型: 类,接口,数组
引用类型在托管堆中分配内存,在堆栈中放的是指向托管堆中首地址的一个指针,这个指针会指向托管堆中的实例,在参数传递的时候拷贝的是堆栈空间中的地址,所以会互相影响
特殊的引用类型: string
StringBuilder
StringBuilder builder = new StringBuilder("aaa");
//初始化一个字符串
builder.Append("bb");
//给前面的追加
string s = String.Format("insert into {0} {1} {2}", "xx", "cc", "ww");
以上两种方式都可以在多次的字符串拼接的时候节省内存
装箱和拆箱
子类和父类之间的转换
子类向父类转换是隐式转换
父类向子类转换必须作强制转换
类型转换
double decimal
float
int
short char
byte
DateTime begin = DateTime.Now;
for (int i = 0; i < 10000; i++)
{
SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=;database=pubs");
conn.Open();
conn.Close();
}
DateTime end = DateTime.Now;
TimeSpan sp = end - begin;
Console.WriteLine(sp.Seconds); //秒时间差
Console.WriteLine(sp.Milliseconds); //毫秒时间差
第四章
//类和对象 构造方法和析构方法 访问修饰符 方法重载
class A
{}
A a=new A();
构造方法特点:和类同名,没有返回类型,没有返回值,不能显示调用,在一个类中可以有多个构造方法的重载.也可以没有显示申明的构造方法
1.构造方法可以有多种访问修饰符
2.静态的构造方法:
静态构造方法必然被调用,而且只调用一次
方法重载 通过不同的参数列表来区分同名的方法,不包括返回类型
访问修饰符 public
internal
proteced 只有当前类和派生类中能够进行访问
private
封装
继承 扩展 抽象
多态
继承 构造的时候从祖先开始构造
析构的时候从子类开始析构
方法的隐藏和方法的重写
virtual override 父类的引用指向子类的实例
值类型:基本数据类型 结构 枚举
值类型在堆栈空间中分配内存,在进行参数传递时考贝堆栈空间中的内容,所以不会互相影响
引用类型: 类,接口,数组
引用类型在托管堆中分配内存,在堆栈中放的是指向托管堆中首地址的一个指针,这个指针会指向托管堆中的实例,在参数传递的时候拷贝的是堆栈空间中的地址,所以会互相影响
特殊的引用类型: string
StringBuilder
StringBuilder builder = new StringBuilder("aaa");
//初始化一个字符串
builder.Append("bb");
//给前面的追加
string s = String.Format("insert into {0} {1} {2}", "xx", "cc", "ww");
以上两种方式都可以在多次的字符串拼接的时候节省内存
装箱和拆箱
子类和父类之间的转换
子类向父类转换是隐式转换
父类向子类转换必须作强制转换
类型转换
double decimal
float
int
short char
byte
DateTime begin = DateTime.Now;
for (int i = 0; i < 10000; i++)
{
SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=;database=pubs");
conn.Open();
conn.Close();
}
DateTime end = DateTime.Now;
TimeSpan sp = end - begin;
Console.WriteLine(sp.Seconds); //秒时间差
Console.WriteLine(sp.Milliseconds); //毫秒时间差
第四章
//类和对象 构造方法和析构方法 访问修饰符 方法重载
class A
{}
A a=new A();
构造方法特点:和类同名,没有返回类型,没有返回值,不能显示调用,在一个类中可以有多个构造方法的重载.也可以没有显示申明的构造方法
1.构造方法可以有多种访问修饰符
2.静态的构造方法:
静态构造方法必然被调用,而且只调用一次
方法重载 通过不同的参数列表来区分同名的方法,不包括返回类型
访问修饰符 public
internal
proteced 只有当前类和派生类中能够进行访问
private
封装
继承 扩展 抽象
多态
继承 构造的时候从祖先开始构造
析构的时候从子类开始析构
方法的隐藏和方法的重写
virtual override 父类的引用指向子类的实例
相关文章推荐
- 给.NET初学者推荐的一篇文章(图文并茂,理解深刻) - .NET中六个重要的概念:堆栈,堆,值类型,引用类型,装箱和拆箱
- .NET中的值类型和引用类型
- .Net常见面试题整理(一)——值类型和引用类型
- .NET 中的引用类型 string
- .net反射调用值类型引用参数时的处理办法(转)
- 6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱
- .net值类型与引用类型的区别
- 关于.NET中的值类型和引用类型
- .NET中六个重要的概念:栈、堆、值类型、引用类型、装箱和拆箱 (转)
- .net中值类型、引用类型理解的c#代码示例
- .NET中的六个重要概念:栈、堆、值类型、引用类型、装箱和拆箱
- 浅析.NET中的引用类型和值类型(上)
- .NET中的类型设计(2): 引用类型的设计
- 【转】[你必须知道的.NET]第九回:品味类型---值类型与引用类型(中)-规则无边
- 6个重要的.NET概念栈,堆,值类型,引用类型,装箱,拆箱
- 值类型和引用类型是.net里面的一个基本概念
- 【草稿】.net 中已经引用了dll,但是编译报错找不到类型或者命名空间
- 6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱
- 【.Net】浅谈C#中的值类型和引用类型
- 栈,堆,值类型,引用类型,装箱,拆箱 .NET中 6个重要的概念