| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1725 人关注过本帖
标题:结构里面能有属性吗?
只看楼主 加入收藏
xiangxiao
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:30
专家分:38
注 册:2009-10-14
结帖率:71.43%
收藏
已结贴  问题点数:10 回复次数:3 
结构里面能有属性吗?
定义一个struct结构体,里面能像类一样给配属性吗?
另外,结构可以不用new创建对象,但会报错,什么情况下可以不用new?
搜索更多相关主题的帖子: 结构 属性 
2009-11-13 11:42
ghl2312
Rank: 4
等 级:业余侠客
威 望:2
帖 子:208
专家分:226
注 册:2008-7-10
收藏
得分:1 
注意结构体和类的区别

c#中的结构体类型
  
struct 类型是一种值类型,通常用来封装小型相关变量组,例如,矩形的坐标或库存商品的特征。下面的示例显示了一个简单的结构声明。

public struct PostalAddress
{
// Fields, properties, methods and events go here...
}

结构与类共享几乎所有相同的语法,但结构比类受到的限制更多:

尽管结构的静态字段可以初始化,结构实例字段声明还是不能使用初始值设定项。

结构不能声明默认构造函数(没有参数的构造函数)或析构函数。

结构的副本由编译器自动创建和销毁,因此不需要使用默认构造函数和析构函数。实际上,编译器通过为所有字段赋予默认值(参见默认值表)来实现默认构造函数。结构不能从类或其他结构继承。

结构是值类型 -- 如果从结构创建一个对象并将该对象赋给某个变量,变量则包含结构的全部值。复制包含结构的变量时,将复制所有数据,对新副本所做的任何修改都不会改变旧副本的数据。由于结构不使用引用,因此结构没有标识 -- 具有相同数据的两个值类型实例是无法区分的。C# 中的所有值类型本质上都继承自 ValueType,后者继承自 Object。

编译器可以在一个称为装箱的过程中将值类型转换为引用类型。

结构具有以下特点:

结构是值类型,而类是引用类型

向方法传递结构时.结构是通过传值方式传递的,不是作为引用方式传递.

与类不同,结构的实例化可以不使用new运算符.

结构可以声明构造函数,但他们必须带参数

一个结构不能从另一个结构或类继承,而且不能作为一个类的基。所有结构都直接继承自 System.ValueType,后者继承自 System.Object。

结构可以实现接口。

在结构中初始化实例字段是错误的。


向灰太狼学习
2009-11-13 11:47
xiangxiao
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:30
专家分:38
注 册:2009-10-14
收藏
得分:0 
你说的这些我都知道,可我的问题你没有回答。
2009-11-13 12:11
athenalux
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河北石家庄
等 级:小飞侠
威 望:8
帖 子:975
专家分:2514
注 册:2008-11-26
收藏
得分:9 
可以定义属性,如果定义结构时不初始化,那么这个结构将是无赋值状态

QQ:81704464
2009-11-13 12:59
快速回复:结构里面能有属性吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047243 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved