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 ...
随机推荐
- 优化网站设计(十):最小化JAVASCRIPT和CSS
前言 网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议.这方面的研究一直没有停止过,我在不同的场合也分享过这样的话题. 作为通用的原则,雅虎的工程师团队曾经给出过35个 ...
- Appium入门(7)__Appium Desired Capabilities
Desired Capabilities 是由多个键值对组成,代表移动设备相关信息.由Appium Client向Appium Server发送. 但无论Appium Client使用何种语言,最终是 ...
- disruptor的并行用法
实现EventFactory,在newInstance方法中返回,ringBuffer缓冲区中的对象实例:代码如下: public class DTaskFactory implements Even ...
- 20165225《Java程序设计》第六周学习总结
20165225<Java程序设计>第六周学习总结 1.视频与课本中的学习: - 第八章学习总结 String类 String对象(常量,对象) 字符串并置(结果仍是常量) 常用方法 le ...
- 洛谷P4052 [JSOI2007]文本生成器 AC自动机+dp
正解:AC自动机+dp 解题报告: 传送门! 感觉AC自动机套dp的题还挺套路的,,, 一般就先跑遍AC自动机,然后就用dp dp的状态一般都是f[i][j]:有i个字符,是ac自动机上的第j个节点, ...
- 重读《深入理解Java虚拟机》五、虚拟机如何执行字节码?程序方法如何被执行?虚拟机执行引擎的工作机制
Class文件二进制字符流通过类加载器和虚拟机加载到内存(方法区)完成在内存上的布局和初始化后,虚拟机字节码执行引擎就可以执行相关代码实现程序所定义的功能.虚拟机执行引擎执行的对象是方法(均特指非本地 ...
- 关于eclipse调试时程序控制台不能自动打开
对于这个程序,在刚开始的时候,没有敲上22,29,33行的打印语句时,在调试的时候不会自动弹开控制台,所以一直在怀疑代码可能出错了.因此可以自己手动打开,但是如果敲上那些代码,系统可以自动弹开控制 ...
- 第三节:Windows下检出项目和提交项目
1.将项目下载到本地: 2.在客户端中,右键点击test,选择show in explorer: 然后修改日志文件并保存: 3.在客户端中填写备注并提交: 4.提交到github中:
- kvc原理
KVC底层实现原理 第一步:寻找该属性有没有setsetter方法?有,就直接赋值 第二步:寻找有没有该属性带下划线的成员属性?有,就直接赋值 第三步:寻找有没有该属性的成员属性?有,就直接赋值 1. ...
- c语言指针应用
指针变量指向数组元素: #import <stdio.h> int main() { int a[10]={1,2,3,4,5,6,7,8,9,0}; int *p; p=a; for ( ...