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 ...
随机推荐
- 静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?
package test.two; public class jingtaihanshu { int x = 3; static int y = 4; public static void Meth ...
- 【魔改】莫队算法+组合数公式 杭电多校赛4 Problem B. Harvest of Apples
http://acm.hdu.edu.cn/showproblem.php?pid=6333 莫队算法是一个离线区间分块瞎搞算法,只要满足:1.离线 2.可以O(1)从区间(L,R)更新到(L±1, ...
- JavaScripts 的bom对象
bom:即broswer object model(浏览器对象模型),由五个对象组成: Window:对象表示浏览器中打开的窗口 最顶层对象. Navigator :浏览器对 ...
- 20165336 2017-2018-2 《Java程序设计》第4周学习总结
20165336 2017-2018-2 <Java程序设计>第4周学习总结 教材学习内容总结 第五章 使用extends来定义一个子类. Object类是所有类的祖先类. 当子类和父类不 ...
- 重写Object的equals方法
Object的equals比较两个对象是否相同,没有重写时比较的是内存地址是否相同(==). 但我们有时候比较的是两个对象中的属性是否相同, 重写equals: package cn.sasa.dem ...
- cb && cb() 和 a || {}
cb && cb() 等同于 if(cb != undefined) { cb(); } a || {} var flag = false var a = flag || {} a / ...
- .NET Core 用 VS Code新建各种类型的项目
用命令行找个地方, 建立目录, 然后执行一下dotnet new --help命令, 查看一下建项目的帮助: 那我建立一个不带用户验证的mvc项目: dotnet new mvc --auth Non ...
- svn 启动命令讲解
svn默认端口是3690 svn启动命令详解 svn启动命令详解 svnserve --help usage: svnserve [-d | -i | -t | -X] [options] Valid ...
- mysql数据库数据(字段数过大)太多导入不了的解决方法
mysql数据库数据(字段数过大)太多导入不了的决方法: 1.打开navicat 工具 2.在数据库上右键,执行右键菜单命令“命令列界面” 3.在打开的窗口中,运行set global max_all ...
- 配置SQL Server 2016无域AlwaysOn(转)
Windows Server 2016 以及 SQL Server 2016出来已有一段时间了,因为Windows Server 2016可以配置无域的Windows群集,因此也能够以此来配置无域的S ...