C#之结构与枚举
2015-12-21 19:19
281 查看
在学习VB时我们都知道VB有三大结构:顺序、选择、循环;也听说过枚举函数,那么在C#中我们又将接触到这类知识,其实在C#中是一样的,语言都是相通的,他们有共性,更有区别,不然他不会讲语言分这么清楚,这篇博客小编主要给大家提供一些C#中结构和枚举的知识,希望对大家有用。
If结构到if Else 结构再到if -else if结构的简化:
(1)If结构:
(2)用If结构写比较繁琐,我们来用Else if简化一下:
(3)还有一种方法,用后更简单,减少代码冗余:
结论:
//if
有可能一条语句都不执行
//if -else
有条件的执行一条语句,至少执行一条语句
While 循环 ---先执行一次循环体 然后再判断条件 是否成立
结论:
//一般知道了循环的次数,用For循环比较方便;
//不知道循环多少次,就用while或者do-while,这时候一定要先看看是先判断还是先执行,如果先执行,用do-while,如果先判断则用while
break使用代码举例:
两者区别:
Continue 回到条件,打断后,接着做
Break 直接跳出循环,打断后不做了
使用枚举的好处:
可以强转为int类型;
更加方便,Gender.后有枚举值;
结构声明语法:
[访问修饰符] struct 结构名
{
结构体
}
枚举的声明方法:
[访问修饰符] enum 枚举名
{
值1,
值2
}
一、C#中的结构:
1、顺序结构:即代码从上到下依次执行。
2、分支结构:If,if-else,if-else if,switch-case
下面通过一个小例子来让大家认识一下这几种用法:If结构到if Else 结构再到if -else if结构的简化:
(1)If结构:
Console.WriteLine("请输入成绩"); int score = Convert.ToInt32(Console.ReadLine()); if (score >= 90) { Console.WriteLine("A"); } else { if (score >= 80) { Console.WriteLine("B"); } else { if (score >= 70) { Console.WriteLine("C"); } else { Console.WriteLine("D"); } } }
(2)用If结构写比较繁琐,我们来用Else if简化一下:
if (score >= 90) { Console.WriteLine("A"); } else if(score >= 80) { Console.WriteLine("B"); } else if(score >= 70) { Console.WriteLine("C"); } else { Console.WriteLine("D"); }
(3)还有一种方法,用后更简单,减少代码冗余:
string str = ""; Console.WriteLine("请输入成绩"); int score = Convert.ToInt32(Console.ReadLine()); if (score >= 90) { str="A"; } else if (score >= 80) { str="B"; } else if (score > 70) { str="C"; } else { str="D"; } Console.WriteLine(str); Console.ReadKey();
结论:
//if
有可能一条语句都不执行
//if -else
有条件的执行一条语句,至少执行一条语句
3、循环结构:While,do-while,for
先来看While循环:Int i=0; While(i<100) { Console.writeline(“小杨很帅啊”); i++; } Console.writeline(“小杨很帅啊”);while向for的转换:
For(int i=0;i<100;i++) { Console.writeline(小杨很帅啊); } Console.writeline(“小杨很帅啊”);
While 循环 ---先执行一次循环体 然后再判断条件 是否成立
结论:
//一般知道了循环的次数,用For循环比较方便;
//不知道循环多少次,就用while或者do-while,这时候一定要先看看是先判断还是先执行,如果先执行,用do-while,如果先判断则用while
4、跳转结构:Break,continue
continue使用代码举例:int i = 0; while (i < 100) { Console.WriteLine("哈哈,又变帅了{0}", i); continue; i++; } Console.WriteLine(""); Console.ReadKey();
break使用代码举例:
//在while中用break实现要求用户一直输入用户名和密码 //只要不是admin、123一直提示要求重新输入,如果正确提示登录成功 while (true) { Console.WriteLine("输入帐号"); string name = Console.ReadLine(); Console.WriteLine("输入密码"); string pwd = Console.ReadLine(); if (name == "admin" && pwd == "123") { Console.WriteLine("登陆成功"); break; } } Console.ReadKey();
两者区别:
Continue 回到条件,打断后,接着做
Break 直接跳出循环,打断后不做了
二、枚举与结构:
枚举用法:(写在命名空间里)
Public enum gender { 男, 女 } Gender gender=Gender.男; Int number=(int)gender; //强转
使用枚举的好处:
可以强转为int类型;
更加方便,Gender.后有枚举值;
Gender g=(Gender)2; Console.writeline(g); Console.readkey(); Gender g=(Gender)(Enum.Parse(typeof(Gender),console.readline())); //把字符串转化成枚举类型的值
结构声明:
如果需要显示150个人的姓名,年龄,住址等等信息,程序员需要一个一个的输,代码之多难以想象,要解决一次性声明多个变量就需要用到结构体了://通过结构体解决该问题 public struct Person { public string name; //字段 public为访问符 } Person zsPerson; zsPerson._name="张三"; Console.writeline(zsPerson._name); Console.readkey();
结构声明语法:
[访问修饰符] struct 结构名
{
结构体
}
枚举的声明方法:
[访问修饰符] enum 枚举名
{
值1,
值2
}
三、总结:
C#学习到现在,对他的基本知识了解已经很多了,他与VB 的共性当然是有的,但是相信,他有他的优势,VB有VB的好处,之前有了VB的基础,觉得学习C#还是能产生共鸣的,C#学习正在进行中,有什么理解不到的,还请大家指出,小编感激不尽!相关文章推荐
- C#基础笔记
- 用回溯法解决子集和问题【C#版本】
- 在C#中调用视图
- C#ListBox对Item进行重绘,包括颜色
- C# 制作不规则窗体的几种解决方案
- c# 异步编程demo (async await)
- 问题:C# ToString("P");结果:c#中的常用ToString()方法总结
- C#用正则判断字符串含有数字,并且将数字的颜色更改
- c#中如何判断字符串是否为数字
- c#范型List的Sort方法详解
- C# WinForm UserControl模拟Form的AcceptButton功能
- C#基础精华02(静态类,值类型,引用类型,枚举,结构,ref与out)
- C#基础精华02(静态类,值类型,引用类型,枚举,结构,ref与out)
- 【小方法】 判断是否经过事件
- C#基础——密码加密
- this.Invoke参数计数不匹配
- C# 将文件转化成byte[]数组
- C# 中基础函数
- c#winform将全局异常抛出,不用大量写try()catch()
- c#基础精华01(强调代码规范,虚方法,抽象方法,接口)