当前位置: 首页 > news >正文

傻瓜式网站开发软件成都网站建设 致尚

傻瓜式网站开发软件,成都网站建设 致尚,娄底网站建设报价,凡客诚品正品男C#知识:结构体 结构体是一种自定义数据类型,用户可以根据自身需求设计自己的结构体用来表示某种数据集合。结构体是一种值类型,结合了值类型的优点,避免了引用类型的缺点。本文简单介绍并探究一下C#中的结构体。 结构体一般写在命…

C#知识:结构体

结构体是一种自定义数据类型,用户可以根据自身需求设计自己的结构体用来表示某种数据集合。结构体是一种值类型,结合了值类型的优点,避免了引用类型的缺点。本文简单介绍并探究一下C#中的结构体。


  • 结构体一般写在命名空间中
  • 结构体中成员默认为private的,包括构造函数
  • 结构体类似类,不过它是值类型,存储在栈上
  • 结构体支持运算符重载
  • 结构体可以继承接口
  • 结构体中可以存在成员变量、构造函数、成员函数
  • 结构体成员变量可在内部初始化*
  • 结构体的构造函数可以只初始化部分成员变量*
  • 结构体中可以自定义无参构造*
  • 结构体不能有析构函数
  • 结构体不能被继承,成员变量和函数不能用protect关键字修饰
  • 结构体不能被static修饰
  • 结构体不能在内部声明自身类型的结构体变量
namespace LearnStruct
{struct Point : IComparable<Point>{//结构体中可以存在成员变量、构造函数、成员函数//结构体不能有析构函数//结构体不能被继承,成员变量和函数不能用protect关键字修饰//结构体不能被static修饰//结构体不能在内部声明自身类型的结构体变量public int x = 2;   //结构体成员变量在内部初始化public int y;int z;public Point() => Console.WriteLine("结构体无参构造被调用");public Point(int x) => this.x = x;public Point(int x, int y) : this(x) => this.y = y;public Point(int x, int y, int z) : this(x, y) => this.z = z;public int CompareTo(Point other){if (other.x > this.x)return -1;else if (other.x < this.x)return 1;return 0;}public void Print(){Console.Write($"x = {this.x},");Console.Write("y = {0},", this.y);Console.WriteLine("z = " + this.z);}public static Point operator +(Point _self, Point _other){return new Point(_self.x + _other.x, _self.y + _other.y, _self.z + _other.z);}}internal class Program{static void ChangeValue(Point point){point.x += 1;point.y += 1;}static void Main(string[] args){//结构体一般写在命名空间中Point p1 = new Point(); //结构体无参构造被调用Point p2;   //声明结构体变量,需要进行初始化后才能使用p2 = new Point();   //结构体无参构造被调用Console.WriteLine(p1.x);    //2Console.WriteLine(p2.x);    //2//结构体中成员默认为private的,包括构造函数,p2.z点不出来//结构体类似类,不过它是值类型,存储在栈上Point p3 = new Point(1, 2, 3);p3.Print(); //x = 1,y = 2,z = 3ChangeValue(p3);p3.Print(); //x = 1,y = 2,z = 3//结构体支持运算符重载Point p4 = new Point(3, 3, 3);Point p5 = new Point(6, 6, 6);Point p6 = p4 + p5;p6.Print(); //x = 9,y = 9,z = 9//结构体可以继承接口List<Point> points = new List<Point>();points.Add(new Point(2, 3, 1));points.Add(new Point(9, 6, 3));points.Add(new Point(3, 5, 6));points.Add(new Point(8, 8, 8));points.Sort();foreach (Point p in points)p.Print();/*输出:x = 2,y = 3,z = 1x = 3,y = 5,z = 6x = 8,y = 8,z = 8x = 9,y = 6,z = 3*/}}
}

参考资料:

  1. 《唐老狮C#》

本篇结束,感谢您的阅读

在这里插入图片描述

http://www.dtcms.com/a/493805.html

相关文章:

  • 国外免费域名网站wordpress怎么加速权限不够
  • 博罗网站设计公司校园网站建设详细的设计方案
  • 盐城专业做网站较好的公司包装设计公司浙江
  • 写作网站都有哪些网站策划及过程
  • 做用户名验证的网站服务器wordpress 带数据库吗
  • 如何编写一套网站模板三明网站设计
  • 跑步机网站建设思维导图免费建站平台排行榜
  • 印尼做网站的教学 中文wordpress archive插件
  • 广州市外贸网站建设珠海建网站的联系方式
  • 做任务领取礼品的网站ui特效网站
  • 如何制作h5做网站网站策划编辑如何做
  • 网站建设的商业阶段网站建设的平面设计
  • 网站开发多少工资ui培训班排行榜
  • 广州网站制作知名 乐云践新淘宝客网站备案号
  • wordpress购物网站seo网络优化软件
  • 深圳自适应网站设计陕西锦宇建设有限公司网站
  • 网站推广与seo的区别建设银行临江支行网站
  • 郑州网站建设选智巢郑州专业网站推广优化公司
  • dz网站模板 首页显示内容百度在西安的公司叫什么
  • 基于jsp的网站开发的文献seo研究所
  • 个人网站可以备案几个怎么在网站添加关键词
  • wordpress设置阅读权限福州短视频seo网站
  • 大型网站建设部署方案wdcp备份网站
  • 网站建设合同书下载国外网站做调查
  • 淄博网站建设哪家好wordpress自定义进入后台地址
  • 做网站建设比较好的公司建设酒店网站ppt
  • 营销推广网站有哪些做二手的网站
  • 珠海企业网站建站小企业网站建设5000块贵吗
  • 什么网站可以请人做软件下载王烨个人简历
  • 企业网站在线留言让别人做一个网站需要多少钱