c# 编程入门第六课
文章目录
c# 编程入门第六课1. 常量2. 枚举3. 枚举转换成其他类型变量3.1 枚举和int3.2 转string3.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类型。
//intint 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];// 方式2int[] 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字符串转枚举) 结构体 数组 冒泡排序 实际使用排序 方法(函数)