结构和类的区别及结构的使用-创新互联
类和结构是 .NET Framework 中的常规类型系统的两种基本构造。 两者在本质上都属于数据结构。封装着一组总体作为一个逻辑单位的数据和行为。 数据和行为是该类或结构的“成员”,它们包括各自的方法、属性和事件等
成都创新互联-专业网站定制、快速模板网站建设、高性价比侯马网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式侯马网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖侯马地区。费用合理售后完善,10多年实体公司更值得信赖。与类不同的是,结构体用struct 修饰;结构体中的实例字段不能自定义默认值,而类可以,编译器会隐式的给出结构体和类的默认构造函数,但是结构体的默认构造不能显示给出,不然编译器会报错,当类有自定义的构造函数时,默认构造会被隐藏,要想使用默认构造,必须显示给出;结构体的自定义构造函数必须初始化所有的实例字段和未初始化的属性,而类不是.
类在传递的时候,传递的内容是位于托管内存中的位置,结构体在传递的时候,传递的内容是位于程序堆栈区的内容。当类的传递对象修改时,将同时修改源对象,而结构体的传递对象修改时,不会对源对象产生影响。
这是我总结的结构与类的区别
在 C# 中,结构体是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构体。
定义一个玩家的结构:
public struct StructHero
{
//玩家名字
public string HeroName;
//原始生命值
public int OriginalBlood;
//***力
public int AttackPower;
//防御力
public int DefendPower;
//玩家的图片
public Image Image;
//原始位置
public Point OriginalLocation;
//当前位置
public Point CurrentLocation;
// 大小
public Size Size;
public void Move(StructMonster monster)
{
//移动到怪物左下角
this.CurrentLocation = new Point(
monster.OriginalLocation.X,
monster.OriginalLocation.Y + monster.Size.Height);
}
public void Move()
{
//返回是将原始位置设为当前位置
this.CurrentLocation = this.OriginalLocation;
}
}
定义一个怪物结构:
public struct StructMonster
{
//怪物名字
public string MonsterName;
//原始生命值
public int OriginalBlood;
//当前生命值
public int CurrentBlood;
//***力
public int AttackPower;
//防御力
public int DefendPower;
//怪物的图片
public Image Image;
//原始位置
public Point OriginalLocation;
//当前位置
public Point CurrentLocation;
// 大小
public Size Size;
public void Move(StructHero hero)
{
//移动到怪物左下角
this.CurrentLocation = new Point(
hero.OriginalLocation.X,
hero.OriginalLocation.Y - hero.Size.Height);
}
public void Move()
{
//返回是将原始位置设为当前位置
this.CurrentLocation = this.OriginalLocation;
}
}
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页名称:结构和类的区别及结构的使用-创新互联
URL地址:http://cdiso.cn/article/coegjs.html