1 //常量 枚举 三元运算符 结构 数组 2 //为某属性 统一类型,用枚举,把某一通用的值,声明为枚举 3 //枚举默认从0开始,可以与int类型转换 4 5 enum Gender 6 { 7 男, 8 女 9 } 10 enum Seasons 11 { 12 春, 13 夏, 14 秋 = 6, 15 冬 16 } 17 enum QQState 18 { 19 OnLine = 1, 20 OffLine, 21 Leave, 22 Busy, 23 QMe 24 } 25 26 //结构体: 一次必声明不同类型的变量 27 struct Person 28 { 29 //区分变量和字段,字段前面加下划线 30 public string _name; 31 public Gender _gender; 32 public int _age; 33 34 } 35 struct MyColor 36 { 37 public int _red; 38 public int _green; 39 public int _blue; 40 } 41 42 class Program 43 { 44 45 static void Main(string[] args) 46 { 47 48 //常量 49 const int number = 10; 50 51 //为通用的 某一属性 统一类型,用枚举 52 char gender = '男'; 53 string sex = "老爷们"; 54 string xingBie = "男人"; 55 56 //枚举赋值 57 Seasons ss = Seasons.夏; 58 59 //类型转换 60 int num = int.Parse("123"); 61 bool b = int.TryParse("123abc0", out num); // 62 Console.WriteLine("num =" + num + "转换成功了么?" + b); 63 64 //枚举与int类型转换 65 num = (int)Gender.女; 66 Console.WriteLine("枚举转成int后的值为 {0},{1}", num, (int)Seasons.冬); 67 68 Console.WriteLine((Seasons)1); 69 Console.WriteLine((Seasons)2); 70 Console.WriteLine((Seasons)3); 71 Console.WriteLine((Seasons)7); 72 Console.WriteLine((Seasons)10); 73 74 75 //枚举与string类型转换 76 Seasons sea = Seasons.春; 77 Console.WriteLine(sea.ToString()); 78 string str = "春"; 79 Seasons seas = (Seasons)Enum.Parse(typeof(Seasons), str); 80 81 //把string 转成enum 练习 82 Console.WriteLine("请输入QQ的状态:1 OnLine, 2 OffLine, 3 Leave, 4 Busy, 5 QMe"); 83 string input = Console.ReadLine(); 84 switch (input) 85 { 86 case "1": QQState q1 = (QQState)Enum.Parse(typeof(QQState), input); 87 Console.WriteLine("当前在线状态为{0}", q1); 88 break; 89 90 case "2": QQState q2 = (QQState)Enum.Parse(typeof(QQState), input); 91 Console.WriteLine("当前在线状态为{0}", q2); 92 break; 93 case "3": QQState q3 = (QQState)Enum.Parse(typeof(QQState), input); 94 Console.WriteLine("当前在线状态为{0}", q3); 95 break; 96 97 case "4": QQState q4 = (QQState)Enum.Parse(typeof(QQState), input); 98 Console.WriteLine("当前在线状态为{0}", q4); 99 break; 100 101 case "5": QQState q5 = (QQState)Enum.Parse(typeof(QQState), input); 102 Console.WriteLine("当前在线状态为{0}", q5); 103 break; 104 105 default: 106 Console.WriteLine("输入有误"); 107 break; 108 } 109 110 //随机数 111 Random r = new Random(); 112 int numberRandom = r.Next(1, 10); 113 //输入姓名,提示这人上辈子是干啥的? 114 115 while (false) 116 { 117 Console.WriteLine("请输入姓名:"); 118 string inputName = Console.ReadLine(); 119 switch (r.Next(1, 6)) 120 { 121 case 1: 122 Console.WriteLine("是工人"); 123 break; 124 case 2: 125 Console.WriteLine("是职员"); 126 break; 127 case 3: 128 Console.WriteLine("是漂泊的"); 129 break; 130 default: 131 break; 132 } 133 } 134 135 //存储学生信息,一个人要三个变量, 要是定义五千个学生呢,此时 结构体出现了 136 //string name = "张三"; 137 //char gender= '男'; 138 //int age =18; 139 140 //变量前加上访问修饰符 就变成字段了,字段可以存多个值,变量可以存一个值 141 //字段要么在类里,要么在结构里 142 //private int num; 143 144 Person zsPerson; 145 zsPerson._name = "张三"; 146 zsPerson._gender = Gender.男; 147 zsPerson._age = 20; 148 149 Person xiPerson; 150 xiPerson._name = "小兰"; 151 xiPerson._gender = Gender.女; 152 xiPerson._age = 18; 153 154 MyColor myColor; 155 myColor._red = 255; 156 myColor._green = 0; 157 myColor._blue = 0; 158 159 //数组类型[] 数组名 = new 数组类型[]; 160 int[] numberArray = new int[10]; 161 int[] numArray = { 1, 9, 89, 45, 123, 6554, 4, 58, 7, 8 }; 162 //下边两种不推荐 163 //int[] numTwo = new int[]{25,98,78}; 164 //int[] numThree = new int[5]{546,6,89,9,86}; 165 166 //求数组最大值、最小值、总和、平均值 167 //int maxNum = numArray[0]; 168 //int minNum = numArray[0]; 169 int maxNum = int.MaxValue; 170 int minNum = int.MinValue; 171 172 173 int sumNum = 0; 174 int avgValue = 0; 175 176 for (int i = 0; i < numArray.Length; i++) 177 { 178 if (maxNum < numArray[i]) 179 { 180 maxNum = numArray[i]; 181 } 182 183 if (minNum > numArray[i]) 184 { 185 minNum = numArray[i]; 186 } 187 sumNum += numArray[i]; 188 } 189 avgValue = sumNum / numArray.Length; 190 Console.WriteLine("最大值为{0},最小值为{1},平均值为{2},总和为{3}", maxNum, minNum, avgValue, sumNum); 191 192 //有这样的一个字符串类型的数组{"老杨","老苏","老马","老牛"};要求 变换成这样一个字符串:老杨|老苏|老马|老牛 193 string[] names = { "老杨", "老苏", "老马", "老牛" }; 194 string namesStr = ""; 195 for (int i = 0; i < names.Length; i++) 196 { 197 namesStr += names[i]; 198 namesStr += "|"; 199 } 200 Console.WriteLine(namesStr); 201 202 //将一个整数数组的每一个元素进行如下的处理:如果元素是正数则将这个位置的元素的值加1,如果元素是负数则将这个位置的元素的值减1,如果元素是0,则不变。 203 int[] numExe = { 1, -9, 89, 45, -23, -1, 1, 58, -7, 8 }; 204 for (int i = 0; i < numExe.Length; i++) 205 { 206 if (numExe[i] > 0) 207 { 208 numExe[i] += 1; 209 } 210 else if (numExe[i] < 0) 211 { 212 numExe[i] -= 1; 213 } 214 Console.Write(numExe[i]+" "); 215 } 216 217 //将一个字符串数组的元素的顺序进行反转。{“我”,“是”,”好人”} {“好人”,”是”,”我”}。第i个和第length-i-1个进行交换 218 string[] sentences = { "我", "是", "好人" }; 219 string tempStr= ""; 220 221 for (int i = 0; i < sentences.Length/2; i++) 222 { 223 tempStr = sentences[i]; 224 sentences[i]=sentences[sentences.Length-i-1]; 225 sentences[sentences.Length-i-1]=tempStr; 226 } 227 228 for (int i = 0; i < sentences.Length; i++) 229 { 230 Console.Write(sentences[i]+" "); 231 } 232 233 } 234 }
转载于:https://www.cnblogs.com/focusdata/p/5582227.html