惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
Hugging Face - Blog
Hugging Face - Blog
小众软件
小众软件
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
爱范儿
爱范儿
人人都是产品经理
人人都是产品经理
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
V
Visual Studio Blog
Last Week in AI
Last Week in AI
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
博客园 - 司徒正美
大猫的无限游戏
大猫的无限游戏
博客园 - 【当耐特】
MyScale Blog
MyScale Blog
月光博客
月光博客

博客园 - 张锋

[GDI+]如何制作出高质量的缩略图 Soap 结构初识 WebCom.Net [GDI+]如何将一个彩色图像转换成黑白图像 [GDI+] 创建Images的两种方式 操作Oracle数据库实现上传图片到Blob类型的字段 如何防止同一帐户重复登录系统 世界杀毒软件排名 Scroll Page Class 解决定位问题 B/S系统中如何定位到对象 学习游戏开发经典网站 Url2Ip - 张锋 - 博客园 BLOG程序 IE功能汇总 WEB打印的相关技术分析 Blog RSS Reader 资料整理 - 张锋 Oracle常用的一些功能集锦 XML Server与XML-enabled Web Server介绍 对于想这种频繁的视图如何看待
struct和class的区别 - 张锋 - 博客园
张锋 · 2004-09-14 · via 博客园 - 张锋

有人问“为什么不能继承System.Guid 中NewGuid方法呢”,答案是很简单的,因为System.Guid 是结构而不是类。

比如定义如下结构和类

这段代码将抛出编译错误内容为 "Class1: cannot inherit from sealed class MyType".

再如下面代码:

编译错误如下: "Class1: type in interface list is not an interface".


下面列举出微软提供的例子供大家学习

这个例子的输出是:

a.x = 1b.x = 5

从这个例子例子可以看出,当一个结构被传递到一个方法时,被传递的只不过是一个副本,而一个类被传递时,被传递的是一个参考.所以a.x=输出的是1,不变,而b.x却变了.

还有的区别就是结构可以不用new来实例化,而类却要.如果你不用new来实例化一个结构,那么所有的字段将仍然处于未分配状态,直到所有的字段被初始化.和类一样,结构可以执行接口.更重要的是,结构没有继承性,一个结构不能从别的类继承,也不能是别的类的基类.

博客园wljcan的文章
http://www.cnblogs.com/wljcan/archive/2004/04/19/6520.aspx