struct和Class的区别
2007-04-25 00:42
337 查看
1、struct不允许显示声明其无参数构造函数,这不同于class
2、struct不允许声明时,初始化其数据成员值
3、struct作为参数传递时,可考虑使用ref,以优化性能:因为是值类型(但要注意其值的改变)
4、struct无继承,但其本身继承自System.ValueType ----> System.Object
5、struct可看作是缩小的class,适宜小数据成员时使用
6、理解如下代码:
class Class1
public struct Dimensions
public struct MyType
public class Class1 : MyType
public struct MyType
public struct Class1 : MyType
//Copyright (C) 2000 Microsoft Corporation. All rights reserved.
// struct2.cs
using System;
class TheClass
struct TheStruct
class TestClass
这个例子的输出是:
a.x = 1b.x = 5
从这个例子例子可以看出,当一个结构被传递到一个方法时,被传递的只不过是一个副本,而一个类被传递时,被传递的是一个参考.所以a.x=输出的是1,不变,而b.x却变了.
2、struct不允许声明时,初始化其数据成员值
3、struct作为参数传递时,可考虑使用ref,以优化性能:因为是值类型(但要注意其值的改变)
4、struct无继承,但其本身继承自System.ValueType ----> System.Object
5、struct可看作是缩小的class,适宜小数据成员时使用
6、理解如下代码:
class Class1
public struct Dimensions
public struct MyType
public class Class1 : MyType
public struct MyType
public struct Class1 : MyType
//Copyright (C) 2000 Microsoft Corporation. All rights reserved.
// struct2.cs
using System;
class TheClass
struct TheStruct
class TestClass
这个例子的输出是:
a.x = 1b.x = 5
从这个例子例子可以看出,当一个结构被传递到一个方法时,被传递的只不过是一个副本,而一个类被传递时,被传递的是一个参考.所以a.x=输出的是1,不变,而b.x却变了.
相关文章推荐
- C++中struct与class的区别是什么?
- class 和 struct的区别
- struct与class区别
- 在c++中struct和class的区别
- C++中struct和class的区别
- c++中struct和class的区别
- .NET中class与struct的区别简析
- C++中struct与Class的区别
- Struct和Class的区别(转载)
- class与struct的区别与联系
- struct和class区别的背后
- C++中struct与class的区别
- C++中struct与class的区别是什么?
- class 和 struct 的区别
- struct和class的区别 观察者模式 https连接 点击button收到点击事件,中间发生了什么
- 程序员面试 ---- struct和class的区别
- struct和class区别的背后
- C#中Struct与Class的区别
- Struct和Class的区别
- C#中struct与class的区别