您的位置:首页 > 其它

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却变了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: