C#基础(6)——常量/枚举/结构/数组
来源:互联网 发布:幼儿编程app 编辑:程序博客网 时间:2024/06/01 09:06
1.常量
作用是不可更改
const double pi =3.14;//不能改变
2.枚举
作用是规定取值范围
[public] enum 枚举名
{
}
注意:
public:访问修饰符,通用的,都可以访问
enum:关键字,声明枚举的关键字
枚举名:遵从Pascal命名规则
将枚举声明的位置写在命名空间的下面,类的上面,表示所有的类都能够用到。
int与枚举间转换:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ChuangzhiConsel{ public enum Gender { 男, 女 } public enum QQState { Online, OffLine, Busy, QMe } class Program { static void Main(string[] args) { Gender gender = Gender.男;//取枚举值,先声明枚举类型,再赋值 QQState qq_state = QQState.Online; int n = (int)qq_state;//强制转换为int类型 Console.WriteLine(n); Console.ReadKey(); } }}
实际是取下标0-end
int 到枚举:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ChuangzhiConsel{ public enum Gender { 男, 女 } public enum QQState { Online, OffLine, Busy, QMe } class Program { static void Main(string[] args) { int n1 = 3; QQState qqstate = (QQState)n1; Console.WriteLine(qqstate); Console.ReadKey(); } }}
枚举类型到string:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ChuangzhiConsel{ public enum Gender { 男, 女 } public enum QQState { Online, OffLine, Busy, QMe } class Program { static void Main(string[] args) { QQState qqstate = QQState.Online; string str = qqstate.ToString(); Console.WriteLine(str); Console.ReadKey(); } }}
麻烦过程:将字符串转为枚举类型
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ChuangzhiConsel{ public enum Gender { 男, 女 } public enum QQState { Online, OffLine, Busy, QMe } class Program { static void Main(string[] args) { string str = "0";//将字符串转为枚举类型 QQState state = (QQState)Enum.Parse(typeof(QQState),str); Console.WriteLine(state); Console.ReadKey(); } }}
打印枚举状态
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ChuangzhiConsel{ public enum Gender { 男, 女 } public enum QQState { Online=1, OffLine, Busy, QMe } class Program { static void Main(string[] args) { QQState state; bool exit = false; while (!exit) { Console.WriteLine("请选中状态:\n1、Online\n2、OffLine\n3、Busy\n4、QMe"); string str = Console.ReadLine(); switch (str) { case "1": state = (QQState) Enum.Parse(typeof(QQState),str); Console.WriteLine("在线状态:{0}", state); break; case "2": state = (QQState)Enum.Parse(typeof(QQState), str); Console.WriteLine("在线状态:{0}", state); break; case "3": state = (QQState)Enum.Parse(typeof(QQState), str); Console.WriteLine("在线状态:{0}", state); break; case "q": Console.WriteLine("退出..."); exit = true; break; default: Console.WriteLine("输入错误!"); break; } } } }}
3.结构
一次声明多个不同类型的变量。
[public] struct 结构名
{
}
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ChuangzhiConsel{ public struct Person { public string _name;//字段,不叫变量,一定要有"_" public char _gender; public int _age; } class Program { static void Main(string[] args) { Person zsPerson; zsPerson._name = "张三"; zsPerson._age = 25; zsPerson._gender = '男'; Console.WriteLine("姓名:{0}", zsPerson._name); Console.WriteLine("年龄:{0}", zsPerson._age); Console.WriteLine("性别:{0}", zsPerson._gender); Console.ReadKey(); } }}
4.结构与枚举混合
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ChuangzhiConsel{ public struct Person { public string _name;//字段,不叫变量,一定要有"_" public Gender _gender; public int _age; } public enum Gender { 男, 女 } class Program { static void Main(string[] args) { Person zsPerson; zsPerson._name = "张三"; zsPerson._age = 25; zsPerson._gender = Gender.男; Console.WriteLine("姓名:{0}", zsPerson._name); Console.WriteLine("年龄:{0}", zsPerson._age); Console.WriteLine("性别:{0}", zsPerson._gender); Console.ReadKey(); } }}
5.数组
数组的声明方式:
1、数组类型[] 数组名称 = new 数组类型[长度];
2、数组类型[] 数组名称 = {1,2,3,4..,9};
3、数组类型[] 数组名称 = new 数组类型[长度]{1,2,3,…,9};
4、数组类型[] 数组名称 = new 数组类型[]{1,2,3,…,9};
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ChuangzhiConsel{ class Program { static void Main(string[] args) { int[] array = new int[10]; for (int i = 0; i < array.Length; i++) { array[i] = i; } Console.WriteLine(array[array.Length-1]);//取最后一个 Console.ReadKey(); } }}
随机产生数组,求数组最大值、最小值、总值、平均值:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ChuangzhiConsel{ class Program { static void Main(string[] args) { Random r = new Random(); int[] array = new int[10]; int maxValue = int.MinValue; int minValue = int.MaxValue; int sum = 0; for (int i = 0; i < array.Length; i++) { array[i] = r.Next(0,101); maxValue = array[i] > maxValue ? array[i] : maxValue;//使用三元表达式 minValue = array[i] < minValue ? array[i] : minValue; sum += array[i]; Console.WriteLine(array[i]); } Console.WriteLine("最大值:{0};最小值:{1};总和:{2};均值:{3:0.00}", maxValue, minValue, sum, (double)(sum *1.0/ array.Length)); Console.ReadKey(); } }}
数组交换
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ChuangzhiConsel{ class Program { static void Main(string[] args) { Random r = new Random(); int[] array = new int[9]{0,1,2,3,4,5,6,7,8}; int temp; for (int i = 0; i < array.Length/2; i++) { temp = array[i]; array[i] = array[array.Length-1-i]; array[array.Length-1-i]=temp; } Console.WriteLine("对称交换后:"); for (int i = 0; i < array.Length; i++) { Console.WriteLine(array[i]); } Console.ReadKey(); } }}
降序排列随机数组
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ChuangzhiConsel{ class Program { static void Main(string[] args) { Random r = new Random(); int[] array = new int[10]; //产生随机数组 for (int i = 0; i < array.Length; i++) { array[i] = r.Next(0, 101); Console.Write("{0} ",array[i]); } //降序排列 for (int i = 0; i < array.Length-1; i++) { for (int j = 0; j < array.Length-1-i; j++) { if (array[j] < array[j+1]) { int temp = array[j]; array[j] = array[j+1]; array[j + 1] = temp; } } } //打印 Console.WriteLine("排序:"); for (int i = 0; i < array.Length; i++) { Console.Write("{0} ",array[i]); } Console.ReadKey(); } }}
懒人方式:
Array.Sort(array);//升序
再降序用:
Array.Reverse(array);
阅读全文
0 0
- C#基础(6)——常量/枚举/结构/数组
- C#基础知识(五)——常量、枚举、结构体、数组
- (6)随机数、常量、枚举、结构、数组
- 黑马程序员——常量、枚举、结构、数组
- C#学习第四天 常量、枚举、结构、数组
- C#基础之结构体&枚举&数组
- 【黑马程序员】2.C#基础之常量 枚举 结构
- C#常量/枚举/结构体
- C#总结【常量-枚举-数组】
- C#数组 枚举 结构
- C#学习笔记6——C#中枚举、结构、数组
- 温故而知新(2)——C#变量(枚举,结构,数组)
- C#学习(五)—数组与结构、枚举、集合的区别
- C#中的数组,结构,枚举
- C#变量(枚举,结构,数组)
- C#枚举,常量(初级)
- 黑马程序员—枚举、结构、常量日志总结
- C#入门--其他变量(枚举、结构、数组)
- react-native纯JS上下拉刷新组件
- Redis模糊操作
- 一大波代码------>自定义圆
- Algorithms 练习2.5.19--Kendall tau距离
- 将DNS改成8.8.8.8有什么利与弊?
- C#基础(6)——常量/枚举/结构/数组
- 一元多项式相加减(数据结构)
- 特殊的数字
- Codeforces 877D Olya and Energy Drinks【思维优化Bfs】
- C#中的 int?是什么意思
- spring配置文件头部xmlns配置解说
- gradle使用本地maven库
- 预处理阶乘逆元
- Struts1详解