c#之枚举,结构体
1.枚举
2.结构体
例子1:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace _038_结构体 {
//我们可以把结构体当成,几个类型组成了一个新的类型
//比如下面的这个就是使用了3个float类型的变量,来表示一个坐标类型
struct Position//position 表示结构体名
{
public float x;
public float y;
public float z;
} enum Direction
{
West,
North,
East,
South
} struct Path
{
public float distance;
public Direction dir;
}
class Program {
static void Main(string[] args)
{
//通过三个float类型的变量来表示一个敌人的坐标
//float enemy1X = 34;
//float enemy1Y = 1;
//float enemy1Z = 34; //float enemy2X = 34;
//float enemy2Y = 1;
//float enemy2Z = 34; //当使用结构体声明变量的时候,相当于使用结构体中所有的变量去声明
//Position enemy1Position;
//enemy1Position.x = 34;//可以通过.加上属性名来访问结构体中指定的变量
////使用结构体让程序变得更清晰
//Position enemy2Position; Path path1;
path1.dir = Direction.East;
path1.distance = ;
}
}
} 例子2:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace _012结构体
{
public struct Student
{ public string _name; //public 是访问修饰符,访问范围是公共的,一般条件满足别处都可以调用
public Sex _sex;
public int _age; }
public enum Sex
{
男,
女 }
class Program
{ static void Main(string[] args)
{
//大学管理系统 来一个就需要录入信息,信息有姓名,性别,年龄。。。。。。
//string zsName = "张三";
/ar zsSex = '男';
//int zsAge = 20; //string lsName = "李四";
/ar lsSex = '女';
//int lsAge = 25; //string wwName = "王五";
/ar wwSex = '女';
//int wwAge = 26;
//学校招了10000人,需要定义30000个变量
//public struct 结构名{ 字段,属性,方法 } Student zsPerson;
zsPerson._name = "张三";
zsPerson._sex = Sex.男;
zsPerson._age = ;
Student lsPerson;
lsPerson._name = "李四";
lsPerson._sex = Sex.女;
lsPerson._age = ;
Console.WriteLine(lsPerson._age); }
}
}
枚举:代码规范,把同类放在一起
public enum Sex
{
男,//默认代表0
女=,
middle
}
class Program
{ static void Main(string[] args)
{
//大学管理系统:现在招生,文法系招生性别记录男女,机电系性别记录爷们娘们
//数学系记录1,0 国贸记录boy girl
//学校下达一个规定,性别只能用男女,其他学院必须调用学校教务处的性别,不能随便自己定义,于是产生了枚举:规范代码,把同类的放在一起
//public enum 枚举名{ 值,值,值} #region 枚举转换Int
//Sex math = Sex.男;
//int num = (int)math;
//Console.WriteLine(num);
#endregion
#region int转枚举
//int num = 11;
//Sex s = (Sex)num;//int转换枚举后,如果有对应的枚举,就显示其内容,如果没有就显示源数字
//Console.WriteLine(s);
#endregion
#region String转枚举
//string str = "middle";
//Sex o= (Sex)Enum.Parse(typeof(Sex),str);
//Console.WriteLine(o);
#endregion
#region 把枚举转换为字符串
Sex s = Sex.middle;
string str = s.ToString();
Console.WriteLine(s);
#endregion
}
}
例子:
public enum Season
{ 春,
夏,
秋,
冬
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入季节");
string season = Console.ReadLine();
Season s;
switch (season)
{
case "春":
case "夏":
case "秋":
case "冬": s = (Season)Enum.Parse(typeof(Season), season); Console.WriteLine(s); break;
default: Console.WriteLine("您输入的不是季节"); break;
} }
}
例子:
using System; namespace _002_student结构
{
public struct Student
{
public long _nums;
public string _name;
public Sex _sex;
public int _grade;
}
public enum Sex
{
男,
女
}
class Program
{
static void Main(string[] args)
{
Student person1;
person1._nums = ;
person1._name = "huangwei";
person1._sex = Sex.男;
person1._grade = ; Console.WriteLine(person1._name);
Student person2;
person2._nums = ;
person2._name = "alin";
person2._sex = Sex.女;
person2._grade = ;
Console.WriteLine(person2._grade);
}
}
}
using System; namespace _009_枚举
{
public struct Class
{
public int _num;
public string _name;
public Sex _sex;
public int _xuehao;
}
public enum Sex
{
男,
女
}
class Program
{
static void Main(string[] args)
{
Class person1;
person1._num = ;
person1._name="黄伟";
person1._sex = Sex.男;
person1._xuehao = ; Class person2;
person2._num = ;
person2._name = "小明";
person2._sex = Sex.女;
person2._xuehao = ; Console.WriteLine("姓名"+"\t"+"班级人数"+"\t"+"性别"+"\t"+"学号");
Console.WriteLine(person1._name+"\t"+person1._num+"\t"+" "+person1._sex+"\t"+person1._xuehao);
}
}
}
c#之枚举,结构体的更多相关文章
- C#学习笔记_12_枚举&结构体
12_枚举&结构体 枚举 是一种数据类型 适用于某些取值范围有限的数据 语法: [访问权限修饰符] enum 枚举名 { 枚举值 } 枚举名遵循大驼峰命名法 枚举一般情况下是和switch c ...
- 5.Swift枚举|结构体|类|属性|方法|下标脚本|继承
1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum Celebrity{ case DongXie,XiDu,Nandi,BeiGai } // 从左 ...
- Swift枚举|结构体|类|属性|方法|下标脚本|继承
1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum Celebrity{ case DongXie,XiDu,Nandi,BeiGai } // 从左 ...
- C语言学习笔记--枚举&结构体
枚举 枚举是一种用户定义的数据类型,它用关键字enum以如下语法格式来声明: enum 枚举类型名字 {名字0,名字1,...,名字n}: 枚举类型名字通常并不真的使用,要用的是大括号里面的名字,因为 ...
- hdu 6127 Hard challenge(极角/角度排序+枚举+结构体排序新写法)
Hard challenge Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others) ...
- swift学习笔记3——类、结构体、枚举
之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...
- swift 的枚举、结构体、类
一.Swift的枚举 枚举是一系相关联的值定义的一个公共的组类型,同时能够让你在编程的时候在类型安全的情况下去使用这些值.Swift中的枚举比OC中的枚举强大得多, 因为Swift中的枚举是一等类型, ...
- C语言回顾-结构体、枚举和文件
1.构造类型 根据已经定义的一个或多个数据类型用构造的方法来定义. 分为:数组.结构体和共用体 2.结构体 struct 结构体名{ 成员列表: }; 1)结构体定义完成以后,计算机不会给结构体分配存 ...
- 瘋子C语言笔记(结构体/共用体/枚举篇)
(一)结构体类型 1.简介: 例: struct date { int month; int day; int year; }; struct student { int num; char name ...
- OC基础--结构体 枚举做类成员属性
结构体 枚举作类的成员属性: 定义一个学生类 性别 -- 枚举 生日 入学日期 毕业日期 -- 结构体 代码示例: 声明文件 Student.h: #import <Foundation ...
随机推荐
- UILabel中NSAttributedString和其LinebarkModel等属性之间的关系
如果设置了一个富文本给一个UILabel,那么后续改变这个UILabel的属性时将会同时改变UILabel.attributedText的属性描述,此时若改变了其它的大小.换行模式(如果在显示时我们可 ...
- day 0308 编码的进阶 文件操作
一.编码的进阶: 在python3以后,字符串和bytes类型彻底分开,字符串以字符为单位进行处理的,bytes类型是以字节为单位处理的. bytes数据类型在所有的操作和使用与字符串方法基本一样,也 ...
- 什么是restful api
https://blog.csdn.net/laotianv5/article/details/81634997 什么是Restful API Restful API 从字面就可以知道,他是rest式 ...
- 转:java内部类作用
原文地址:https://www.cnblogs.com/uu5666/p/8185061.html 一. 定义 放在一个类的内部的类我们就叫内部类. 二. 作用 1.内部类可以很好的实现隐藏, 一般 ...
- 《HTTP - 概述》
晚上听着 木小雅<可能否>,让我这暴躁的一天得以回复一下. 学习是长久之事,不能急躁.应该系统的去学习一些东西. 1:HTTP 最严谨的叫法应该是 超文本转移协议,但大家一般都叫做 超文本 ...
- 添加linux系统调用的两种方式
原文:https://blog.csdn.net/sdulibh/article/details/51889279 向linux内核添加系统调用,一是通过编译内核添加,二是通过内核模块的方式添加: 一 ...
- 【Python全栈-HTML】HTML入门
HTML入门介绍 参考: https://www.bilibili.com/video/av21663728/?p=339 http://www.cnblogs.com/yuanchenqi/arti ...
- 重读《深入理解Java虚拟机》二、Java如何分配和回收内存?Java垃圾收集器如何工作?
线程私有的内存区域随用户线程的结束而回收,内存分配编译期已确定,内存分配和回收具有确定性.共享线程随虚拟机的启动.结束而建立和销毁,在运行期进行动态分配.垃圾收集器主要对共享内存区域(堆和方法区)进行 ...
- 【Linux】测试环境如何搭建?
[Linux]测试环境如何搭建? (该文档所在我的百度网盘位置: ) 通常面试会问到会不会搭建测试环境?到底啥是测试环境搭建呢,其实测试环境没有想像的那么高大上,弄个 tomcat,把测试的 war ...
- svn介绍
什么是SVN(Subversion) Svn(subversion)是近年来崛起非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个跨平台的开源的版本控制系统.Svn版本管理工具随着时间改变的各 ...