- 浏览: 353314 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (335)
- C++ (190)
- 设计模式 (43)
- 数据库技术 (5)
- 网络编程 (11)
- 自动化测试 (6)
- Linux (13)
- OpenSSL (10)
- MS Crypt API (5)
- SCM (2)
- English (4)
- Android (10)
- EMV规范 (1)
- Saturn Platform (0)
- C (10)
- SQL (2)
- ASP.NET (3)
- 英语口语学习 (3)
- 调试工具 (21)
- 编译技术 (5)
- UML (1)
- 项目管理 (5)
- 敏捷开发 (2)
- Http Server (6)
- 代码审查、代码分析 (5)
- 面试基础 (10)
- 重点知识 (16)
- STL (6)
- Efficient C++资料 (8)
- 数据结构和算法 (7)
- 读书笔记 (0)
- 开源项目 (4)
- 多线程 (2)
- Console App (6)
- 个人开源项目 (4)
- IBM DevelopWorks (4)
- Java (16)
- 内存泄漏相关调试和检测 (13)
- 软件测试相关技术 (2)
- C# (11)
- Apple Related (1)
- 软件测试和管理 (2)
- EMV (1)
- Python (1)
- Node.js (6)
- JavaScript (5)
- VUE (1)
- Frontend (1)
- Backend (4)
- RESTful API (3)
- Firebase (3)
最新评论
-
u013189503:
来个密码吧
[C++][Logging] 项目中写日志模块的实现 -
wyf_vc:
来个密码啊!!
[C++][Logging] 项目中写日志模块的实现
参考链接
http://blog.csdn.net/weiwenhp/article/details/7951743
平时碰到分支条件判断最常用的是if else语句,不过有时要是分支条件太多用switch就更直观,方便一点.先举两个简单的例子.
C++:
C#:
C++,C#中swith的用法几乎是一模一样了.只有一些细小的差别,C#在C++的基础上做了一点改进.
区别:
1. C++中switch()括号中的变量类型只能是整形或者能默认转换成整形.比如int,long,bool,char,enum.(当然表达式也行,只要结果符合前面条件).但float,double,string就不行.另外自定义的类型,比如某个class,如果类中有运算符重载,class能默认转换成int.那也可以.不过一般情况很少会在switch中用到自定义的类型吧
C#中switch()括号中的变量类型可以是byte,short,int,long,bool,enum另外还有string,这个在C++中是不行的.跟c++一样,可以用表达式,但float,double是不行的.自定义类型如可转换也行.
2. C++中break是可以省略的.但这样容易造成一个问题.如果没有break当某个分支符合条件执行完了后,会接着执行后面的分支.在上面的例子中,如果break全部去掉.结果会是twothreedefault
而C#要你强制性使用break,不用的话在编译时就会报错.这样就不会犯C++中因忘记写break而出现的错误.
补充:其实也可以用return替换break.只不过return是表示退出整个函数,而break只是退出switch这个语句块.
如果switch的语句块中的逻辑比较复杂还可以综合使用goto语句.
比如
当然很多很多人都说过在写代码时尽量另用goto语句,不得万不得已少用了.
http://blog.csdn.net/weiwenhp/article/details/7951743
平时碰到分支条件判断最常用的是if else语句,不过有时要是分支条件太多用switch就更直观,方便一点.先举两个简单的例子.
C++:
int num = 2; switch(num) { case 1:cout<<"one";break; case 2:cout<<"two";break; case 3:cout<<"three";break; //break可省略 default:cout<<"default";break; //default 非必须,可以省略 }
C#:
int num = 2; switch (num) { case 1: Console.WriteLine("one"); break; case 2: Console.WriteLine("two"); break; case 3: Console.WriteLine("three"); break; //break不能省略 default: Console.WriteLine("default"); break; //default 可省略. }
C++,C#中swith的用法几乎是一模一样了.只有一些细小的差别,C#在C++的基础上做了一点改进.
区别:
1. C++中switch()括号中的变量类型只能是整形或者能默认转换成整形.比如int,long,bool,char,enum.(当然表达式也行,只要结果符合前面条件).但float,double,string就不行.另外自定义的类型,比如某个class,如果类中有运算符重载,class能默认转换成int.那也可以.不过一般情况很少会在switch中用到自定义的类型吧
C#中switch()括号中的变量类型可以是byte,short,int,long,bool,enum另外还有string,这个在C++中是不行的.跟c++一样,可以用表达式,但float,double是不行的.自定义类型如可转换也行.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Ch04Ex03 { class Program { static void Main(string[] args) { const string myName = "karli"; const string sexyName = "angelina"; const string sillyName = "ploppy"; string name; Console.WriteLine("What is your name?"); name = Console.ReadLine(); switch (name.ToLower()) { case myName: Console.WriteLine("You have the same name as me!"); break; case sexyName: Console.WriteLine("My, what a sexy name you have!"); break; case sillyName: Console.WriteLine("That's a very silly name."); break; } Console.WriteLine("Hello {0}!", name); Console.ReadKey(); } } }
2. C++中break是可以省略的.但这样容易造成一个问题.如果没有break当某个分支符合条件执行完了后,会接着执行后面的分支.在上面的例子中,如果break全部去掉.结果会是twothreedefault
而C#要你强制性使用break,不用的话在编译时就会报错.这样就不会犯C++中因忘记写break而出现的错误.
补充:其实也可以用return替换break.只不过return是表示退出整个函数,而break只是退出switch这个语句块.
如果switch的语句块中的逻辑比较复杂还可以综合使用goto语句.
比如
int num = 2; bool check = false; switch (num) { case 1: Console.WriteLine("one"); break; case 2: Console.WriteLine("two"); goto label; case 3: Console.WriteLine("three"); break; label: default: Console.WriteLine("default"); break; }
当然很多很多人都说过在写代码时尽量另用goto语句,不得万不得已少用了.
发表评论
-
FreeRTOS
2022-03-05 16:31 202Ref https://blog.csdn.net/weix ... -
串口通讯相关
2018-11-02 13:44 357https://bbs.csdn.net/wap/topics ... -
[转]C++验证IP是否可以PING通
2018-10-30 17:54 1223https://www.cnblogs.com/guoyz13 ... -
C++/MFC 換皮膚
2018-10-20 11:05 419https://blog.csdn.net/u01123991 ... -
WinCE 截屏 - C++ 代碼
2018-08-31 09:45 517// this function create a bmp ... -
Android NDK搭建環境
2017-11-27 13:25 526https://www.cnblogs.com/ut2016- ... -
C#编码规范参考
2017-11-14 16:11 532https://www.cnblogs.com/wulinfe ... -
8583协议相关
2017-10-17 13:38 5108583相关资料,整理中... -
Java高级应用之JNI
2017-06-19 09:00 537参考link http://www.cnblogs.com/l ... -
BeagleBone Black安装mono开发环境
2017-05-17 08:49 630Installing Mono and C# on the B ... -
C++实现ping功能
2017-04-18 11:21 2022基础知识 ping的过程是向目的IP发送一个type=8的I ... -
OpenSSL 编译环境搭建
2017-03-27 15:01 8491 安裝VS2008到 c:\Program Files (x ... -
最优非对称加密填充(OAEP)
2017-03-25 14:53 1504OpenSSL命令---rsautl http://blog. ... -
[Platform Builder] 设置SVM OS build Env
2016-11-10 11:39 01 copy one OSDesign Project to ... -
[Windows] System Error Codes(GetLastError )0-----5999
2016-10-26 13:28 1832ERROR_SUCCESS 0 (0x0) T ... -
开源Windows驱动程序框架
2016-09-17 21:35 810转自 http://code.csdn.net/news/28 ... -
c/c++代码中执行cmd命令
2016-09-14 14:50 1808转自 http://blog.csdn.net/slixinx ... -
C#使用C++标准DLL实例(包含callback)
2016-09-11 19:44 997C++编写标准Win32DLL如下 头文件 /***** ... -
C#里partial关键字的作用
2016-09-09 16:37 917转自 http://www.cnblogs.com/O ... -
C#调用C++的DLL搜集整理的所有数据类型转换方式
2016-09-09 16:07 923转自 http://www.cnblogs.com/zeroo ...
相关推荐
你还为学习java和学习c#而弄混了switch语句吗
c#中的switch用法的一些代码示例。谢谢。
C# try-catch与switch操作.rar
2、switch语句,C#中case后面可根字符串,如case “abc“,但在C++中却不行,C++中case后面只跟数字,字符,和枚举。 3、在C#中没有C++中的私有继承和保护继承,只有公有继承。 4、C#中可以通过关键字sealed把一个类...
C++switch goto break for 循环 教程与实例
用switch实现的简单四则运算功能。 适合c#初学者参考
C++语言:switch语句最详细讲解。从switch语句的执行过程,switch语句的注意要点,例题讲解,作业等 。适合于中小学生,信息学爱好者。
C#051break和switch今天星期几
在项目中遇到了使用switch语句判断条件,但问题是条件比较多,大概有几十个条件,满屏幕的case判断,是否有更优雅的写法替代switch语句呢? 假设有这样的一个场景:商场经常会根据情况采取不同的打折方案,如果...
在C#中 代码如下: switch(type) { case tpye1: break; case tpye2: break; case tpye3: break; case tpye4: break; }; 其中type可以是数字,也可以是字符串; 您可能感兴趣的文章:c#入门之分支语句使用方法(三元...
sws as example in c++
Guide Winform using C# language
本课件介绍了c#.net的 switch语句, 采用项目式和任务式方式组织各个知识点。内容通俗易懂, 非常适合没有编程基础的人进行学习.
除了以下差异,C# 中的变量几乎和 C++ 中一样: 1. C# 中(不同于 C++)的变量,总是需要你在访问它们前先进行初始化,否则你将遇到编译时错误。故而,不可能访问未初始化的变量。 2. 你不能在 C# 中访问一个“挂起...
主要介绍了c#中switch case的用法实例解析,对于C#的初学者来说有必要熟练掌握,需要的朋友可以参考下
初学者,C#中SWITCH的使用,学习一下吧,觉得讲的蛮详细的。
重载Label控件,自绘的toggleSwitch控件,支持切换事件、拖拽功能。
`switch`语句是C++中的一种流程控制语句,通常用于根据表达式的值选择执行不同的代码块。下面是`switch`语句的基本结构: ```cpp switch (expression) { case value1: // 当 expression 等于 value1 时执行这里的...
多种风格的端点,switch ,case,的用法实例,C#源代码//启发Paint事件并执行其中的代码 this.Invalidate(); VisualStudio2008创建
Ryujinx 是一个开源的 Nintendo Switch 模拟器,由 gdkchan 创建,用 C# 编写。该模拟器旨在提供出色的准确性和性能、用户友好的界面和一致的构建。 要运行此模拟器,您的 PC 必须配备至少 8GiB 的 RAM;如果不满足此...