c# 编程入门第六课常量,枚举,枚举转换成其他类型变量(枚举和int,转 string字符串转枚举),结构体,数组,冒泡排序,实际使用排序,方法(函数)
c# 编程入门第六课
文章目录
- c# 编程入门第六课
- 1. 常量
- 2. 枚举
- 3. 枚举转换成其他类型变量
- 3.1 枚举和int
- 3.2 转string
- 3.2 字符串转枚举
- 4.结构体
- 5.数组
- 7.冒泡排序
- 8 实际使用排序
- 9.方法(函数)
1. 常量
常量,不能被重新赋值
const int number = 50;
2. 枚举
//声明,namespace下
public enum Gender{男,女}
// 定义使用,program 的函数下
Gender gender = Gender.男;
用处,为了应对不同人对同一事物不同说法,统一说法。
3. 枚举转换成其他类型变量
3.1 枚举和int
namespace _04枚举和int以及string类型之间的转换
{public enum QQState{OnLine=1, OffLine,Leave,Busy,QMe}class Program{static void Main(string[] args){// region 将枚举类型强转成int类型,n为state对应序号,一般默认从零开始,但可以给首个字段设置起始序号。QQState state = QQState.OnLine;int n = (int)state;// int 转枚举int n1 = 3;QQState state = (QQstate)n1;}}
}
3.2 转string
所有类型都可以转string类型。
//int
int n = 10;
string s = n.ToString();
// 枚举
QQState state = QQState.OnLine;
string s = state.ToString();
其实,在打印时都会转换为string
//可以直接打印枚举值
Console.WriteLine(state);
3.2 字符串转枚举
string s = "OnLine";
//将s转换成枚举类型
//Convert.ToInt32() int.parse() int.TryParse()
string s1 = "123";
int n = int.Parse(s1);
//调用Parse()方法的目的就是为了让它帮助我们将一个字符串转换成对应的枚举类型
//转枚举复杂一些
QQState state = (QQState)Enum.Parse(typeof(QQState), s);
4.结构体
和C语言类似
namespace _05结构
{//结构体声明public struct Person{public string _name;//字段public int _age;public Gender _gender;}public enum Gender{ 男,女}class Program{static void Main(string[] args){// 定义使用Person zsPerson;zsPerson._name = "张三";zsPerson._age = 21;zsPerson._gender = Gender.男;}}
}
结构体中的变量叫字段,一个变量只能存一个值,而一个字段可以通过不同结构体存储多个值。
为了区分变量,字段起名时首字母是
_
5.数组
定义
// 方式1int[] nums = new int[10];
// 方式2
int[] numsTwo = { 1, 2, 3, 4, 5, 6 };
方式1定义会赋予每个元素默认值
int 默认值是 0
string 是 null,(null使用和空字符串一样,但null在内存中没有开空间)
bool 是 false
遍历数组
// 赋值
for (int i = 0; i < nums.Length; i++)
{nums[i] = i;
}
// 打印
for (int i = 0; i < nums.Length; i++)
{Console.WriteLine(nums[i]);
}
nums.Length 方法是返回nums数组的长度
int 两个特殊值
int.MinValue; //int所能存储的最小值
int.MaxValue;//int所能存储的最大值
数组颠倒时的循环条件
for (int i = 0; i < names.Length / 2; i++)
{string temp = names[i];names[i] = names[names.Length - 1 - i];names[names.Length - 1 - i] = temp;
}
7.冒泡排序
升序 小–>大
降序 大 – >小
冒泡排序说法之一
从底向上比较交换,看起来向上冒出的样子,一般以下标[0]为底
for (int i = 0; i < nums.Length - 1; i++){for (int j = 0; j < nums.Length - 1 - i; j++){if (nums[j] > nums[j + 1]){int temp = nums[j];nums[j] = nums[j + 1];nums[j + 1] = temp;}}}
8 实际使用排序
int[] nums = {1,2,5,4};
// 只能升序排序
Array.Sort(nums);
结合颠倒方法可以实现降序
Array.Reverse(nums);
9.方法(函数)
namespace _10方法
{class Program{static void Main(string[] args){Program.Fun(); //方式一,带Program类名int n2 = 5;int n3 = FunTwo(n2); //n3接收函数返回值,方式二,由于方法同在一个类中,可以省略类名Console.ReadKey();}/// <summary>/// Fun方法/// </summary>public static void Fun(){Console.WriteLine("函数一");}/// <summary>/// 函数二/// </summary>/// <param name="n2">接收一个整数</param>/// <returns></returns>public static int FunTwo(int n2){Console.WriteLine("函数一");int n1 = 9;return n1-n2;}}
}
public 是访问权限
static 静态的
void 返回值为空
int 返回值类型是int
c# 编程入门第六课常量,枚举,枚举转换成其他类型变量(枚举和int,转 string字符串转枚举),结构体,数组,冒泡排序,实际使用排序,方法(函数)相关推荐
- C# 编程入门第七课方法调用参数问题,方法标准,传递数组,返回数组,方法高级参数(out关键字参数,ref参数,params可变参数),方法重载,方法的递归,一些常用方法
C# 编程入门第七课 文章目录 C# 编程入门第七课 1. 方法调用参数问题 2. 方法标准 3.传递数组,返回数组 4. 方法高级参数 4.1 out 关键字参数 4.2 ref 参数 4.3 pa ...
- C# 编程入门第五课,VS2019程序调试,for循环,水仙花数,Console.Write,又一种类型变换,三元表达式,产生随机数
C# 编程入门第五课 文章目录 C# 编程入门第五课 1. VS2019程序调试 2. for循环 3. 水仙花数 4. Console.Write() 5. 又一种类型变换 6. 三元表达式 7.产 ...
- C#编程入门第四课,异常,switch-case选择结构,循环结构 while,break作用,do-while循环
C#编程入门第四课 文章目录 C#编程入门第四课 1.异常 2. switch- case选择结构 3. 循环结构 while 4. break 作用 5. do-while循环 1.异常 那行代码有 ...
- C# 编程入门第三课 类型转换,++,关系运算符,bool类型(布尔类型),逻辑运算符,判断闰年,结构
C# 编程入门第三课 文章目录 C# 编程入门第三课 1. 类型转换 2. ++,-- 3. 关系运算符 4. bool 类型(布尔类型) 5. 逻辑运算符 6.判断闰年 7. 结构 1. 类型转换 ...
- C语言试题五十二之学生的记录由学号和成绩组称个,n名大学生得数据已在主函数中放入结构体数组a中,请编写函数fun,它的功能时:按分数的高低排列学生的记录,高分在前。
1. 题目 请编写一个函数void function(Student a[], int n),其功能时:学生的记录由学号和成绩组称个,n名大学生得数据已在主函数中放入结构体数组a中,请编写函数fun, ...
- 函数返回引用什么意思_【20200917】编程入门第七课,函数(function)
介绍 介绍 福哥今天要给大家讲讲编程里的重头戏--函数(function),有了函数,程序才是程序,为什么这么说呢?因为如果没有函数语法,所有重复工作(包括类似工作)都要重复编写代码,那样就失去了编程 ...
- python 入门第六课 class面向对象OOP
面向对象编程 OOP编程是利用"类"和"对象"来创建各种模型来实现对真实世界的描述,使用面向对象编程的原因一方面是因为它可以使程序的维护和扩展变得更简单,并且可 ...
- 【Java】_2_Java程序入门第六课
不知道是ESET的问题,还是开发商的问题,我在千千静听官网下载的播放器.百度下载的百度影音和优酷下载的iKu软件,结果 都被ESET报潜在威胁,这软件编写的让人蛋疼,不知道杀软和应用软件什么时候才能正 ...
- Flash鼠绘入门第六课:青翠竹子绘制过程-Flash鼠绘青翠竹子1
通过练习用矩形工具和笔刷工具创建图形,用选择工具.任意变形工具和属性面板中的颜色工具修改图形,进一步了解和熟悉Flash鼠绘常用工具的的特性和使用方法. 竹子是"梅兰竹菊"四君子之 ...
最新文章
- 如何解决多地开视频会议直播问题?
- python爬虫招聘-Python爬虫实战之(二)| 寻找你的招聘信息
- 导入Excel和CSV文件
- 在QT中结构体快速从二进制文件中读取数据
- PdfSharp.dll 更改pdf 設置 如不能複製,列印等
- android onclick fragment,Android Fragment onClick按钮方法
- STL源码剖析 读书笔记一 2013-5-4
- PHP 框架 模块化,Laravel 的模块化开发框架 Notadd RC1
- python excel取列_python取excel表格第一列数据-python操作excel,使用xlrd模块,获取某一列数据的......
- 一年级下册健康教育教案
- CefSharp 知道这些就完事了
- matlab中字体修改,matlab——修改图中字体
- python实现排序算法lowb三人组之插入排序
- mysql关系型数据库生成树形结构,Layui页面渲染树型结构图(详细)
- hadoop搭建伪分布式集群(centos7+hadoop-3.1.1)
- 【HTML+CSS+JS表白网站搭建】520七夕到了,快搭个漂亮的表白网站送给TA吧
- C语言指针进阶(中)
- 在R、Python和Julia中常用的数据可视化技术
- GP数据库安装以及使用
- 串口NFC模块,轻松实现NFC通信