• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#语言基础——结构体和枚举类型全面解析

C#语言基础——结构体和枚举类型全面解析

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#语言基础,c#语言基础视频教程,数据结构 c#语言版,数据结构 c#语言描述,c#语言程序设计基础等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、结构体(struct)

结构类型是用户自己定义的一种类型,它是由其他类型组合而成的,可包含构造函数、常数、字段、方法、属性、索引器、运算符、事件和嵌套类型的值类型。结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。

用结构的主要思想是用于创建小型的对象,如Point和FileInfo等等。这可以节省内存,因为没有如类对象所需的那样有额外的引用产生。例如,当声明含有成千上万个对象的数组时,这会引起极大的差异。

结构体是一个变量组,将一组变量放在一起,其实就是一个自定义的集合,里面可以包含各种类型的数据,用法和集合一样。

1、定义

结构体一般定义在Main函数上面,位于Class下面,作为一个类;一般情况Struct定义在Main函数前面,Main函数里面的地方都可以使用,参数前面加上public代表公用变量。

格式:

struct +结构体的名称

{

public int+变量名;

public string+变量名;

public int+变量名;

}
</div>

以上就是定义一个结构体的格式,里面包含许多种数据类型,如整形int,字符串string,带小数点decimal等;

如果结构体定义在Main函数中,再能在Main函数中使用,一般看情况来定义在Main函数前面,Main函数里面的所有地方都可以使用,参数前面加上public代表公用变量。

格式:

struct student

{

public int no;

public string name;

public int Csharp;

public int web;

public int database;

public int sum;

}
</div>

2、用法

(1)在Main函数外面定义了一个student类型的结构体,在Main主函数中使用:

(2)然后为里面的每个元素赋值,结构体名+点+结构体里面变量名称=值。

(3)赋值之后完成之后进行打印。

Student lch=new student();//这句是在Main函数里定义了一个名为lch的student 类型的结构体。

{

lch.no=1;     

lch.name=”李昌辉”;

lch.Cshap=88;

lch.web=90;

lch.database=98;

lch.sum=lch.Cshap+lch.web+lch.database;

}

Console.WriteLine(lch.no,lch.name,lch.Cshap,lch.web,lch.database,lch.sum );
</div>

【案例1】定义一个jiegouti类型的结构体,输出类型中的结构体变量,程序运行后显示的结果如下图:

 

【技术要点】定义一个jiegouti类型的结构体,有3个结构变量,fenshu,name,kecheng,在主函数中定义一个参数接收结构变量,然后输出name,返回一个字符串。

3、结构体类型元素包含结构体类型

//如果想让其他添加出来的类也能够使用此结构体,需要在前面加上public

public  struct student

        {

//想让其他的类可以访问到其中的变量需要加上public

            public int nianling;

            public string name;

            public string sex;

//可以结构体中包含另一个结构体

            public One qq;

//可以直接定义一个数组,但是没有开辟空间

            public string[] shuzu;

        }

        public struct One

        {

            public string nb;

            public string abc;

        }

        static void Main(string[] args)

        {

            #region

//为里面的每个元素赋值:(结构体名+点+结构体里面的变量名称=值)

//使用之前需要先初始化一下

            student st = new student();

//初始化出来的变量名可以看做一个类对象

            st.name = "张三";

//类对象的名称是不能相同的

            st.nianling = 21;

            st.sex = "男";

            st.name = "王五";

//使用的时候利用变量名点出来其中的变量进行使用

            Console.WriteLine(st.name);

//结构体中包含另一个结构体类型,可以直接点出来一以下的变量

            st.qq.abc="qsqs";

//使用之前需要先开辟空间

            st.shuzu = new string [9];

//数组元素赋值方式

            st.shuzu[0] = "赵六";

//可以多次初始化类,注意不同的变量名

            student st1 = new student();

            st1.name = "李四";

            st1.nianling = 22;

            st1.sex = "女";

            #endregion

        }

【案例2】在上面jiegouti类型的结构体元素还可以包含另外一个结构体,再定义一个变量public int[] shuzu,输出新定义的数组变量。运行结果如下图:

 

【技术要点】定义jiegouti类型的结构体,原有3个结构变量,fenshu,name,kecheng,新增一个变量public int[] shuzu,而这个结构元素还可以包含一个新结构体,在主函数中重新(new 初始化)定义一个参数接收这个新的结构变量,然后输出name,返回一个字符串。

【案例3】在上面jiegouti类型的结构体元素还可以包含另外一个结构体,再定义一个变量public int[] shuzu,输出新定义的数组变量。输出的变量可以多个,用“+”连接即可。

 

【技术要点】定义jiegouti类型的结构体,原有3个结构变量,fenshu,name,kecheng,新增一个变量public int[] shuzu,而这个结构元素还可以包含一个新结构体,在主函数中重新(new 初始化)定义一个参数接收这个新的结构变量,然后输出name,返回一个字符串。

综合练习:运用结构体,将学号、姓名和分数放入集合,然后取出并打印出来

 

二、枚举类型

枚举(enum)是值类型的一种特殊形式,它从System.Enum继承而来,并为基础类型的值提供替代名称。枚举类型有名称、基础类型和一组字段。基础类型必须是一个除char 类型外的内置的有符号(或无符号)整数类型(如Byte、Int32或UInt64)。也可以说,枚举类型是一组常量的集合。

1、定义:Enum....{E}

枚举元素的默认基础类型为int。默认情况下,第一个枚举数的值为0,后面每个枚举数的值依次递增1。例如:

//枚举是常量的集合,一般冒号后面不指定数据类型

  enum meiju:

        {

//枚举里面有默认的索引,也可以指定;如索引3,但在控制台中不起作用;

//用逗号隔开

        one=3,

        two=6,

        three,

//如果等于之前的一个常量,那么就等于这

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#语言基础——结构体和枚举类型全面解析
  • C#语言主要特性总结

相关文章

  • 2017-05-28.NET C#利用ZXing生成、识别二维码/条形码
  • 2017-05-28C#中的问号(?号)用法小结
  • 2017-05-28C# 格式化字符串的实现代码
  • 2017-05-28C#调用系统API指定快捷键的方法
  • 2017-05-28C#设置输入法实例分析
  • 2017-05-28C#语法相比其它语言比较独特的地方(三)
  • 2017-05-28C#读取配置文件的方法汇总
  • 2017-05-28C#中嵌入SQLite数据库的简单方法
  • 2017-05-28C#实现利用反射简化给类字段赋值的方法
  • 2017-05-28解读赫夫曼树编码的问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#递归算法之归并排序
    • C#利用System.Uri转URL为绝对地址的方法
    • C#插入法排序算法实例分析
    • C#中观察者模式的3种实现方式
    • C#中按字符串截取长字符串实例
    • C#返回多少分钟之前或多少分钟之后时间的方法
    • 学习C#静态函数及变量的一个精典例子与代码
    • C#中面向对象编程机制之多态学习笔记
    • C#利用WMI操作DNS服务器(可远程操作,需要相应权限)
    • C#重写DataGridView

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有