精华内容
下载资源
问答
  • c#中将字符串转变成整形 带开关案例语句的C#字符串 (C# string with switch case statement) In C# programming language – we can use a string with the switch case statement, switch case statement is a ...

    c#中将字符串转变成整形

    带开关案例语句的C#字符串 (C# string with switch case statement)

    In C# programming language – we can use a string with the switch case statement, switch case statement is a type of selection control mechanism, which is used to execute a block from multiple blocks. Switch case multiple blocks and a variable/value, when value matches with the case, the body of the case associated with that case is executed.

    在C#编程语言中,我们可以在switch case语句中使用字符串,switch case语句是一种选择控制机制,用于执行多个块中的一个块。 切换案例多个块和一个变量/值,当值与案例匹配时,将执行与该案例关联的案例主体。

    Note: break must be used with all switch case blocks including default.

    注意: break必须与所有switch case模块一起使用,包括default 。

    C#示例将字符串与switch case语句一起使用 (C# Example to use string with switch case statement)

    using System;
    using System.Text;
    
    namespace Test
    {
        class Program
        {
            static void Main(string[] args)
            {
                string gender = "Male";
    
                switch (gender)
                {
                    case "Male":
                        Console.WriteLine("He is male...");
                        break;
                    case "Female":
                        Console.WriteLine("She is female...");
                        break;
                    default:
                        Console.WriteLine("Default");
                        break;
                }
    
                //hit ENTER to exit
                Console.ReadLine();
            }
        }
    }
    
    

    Output

    输出量

    He is male...
    
    

    Example 2: Here, we will input a text from the console and check whether input text starts with either "This" or "That".

    示例2:在这里,我们将从控制台输入文本,并检查输入的文本是否以“ This”“ That”开头。

    using System;
    using System.Text;
    
    namespace Test
    {
        class Program
        {
            static void Main(string[] args)
            {
                string text = "";
                
                Console.Write("Enter some text: ");
                text = Console.ReadLine();
    
                switch (text.Substring(0, 4))
                {
                    case "This":
                        Console.WriteLine("text started with \"This\"");
                        break;
                    case "That":
                        Console.WriteLine("text started with \"That\"");
                        break;
                    default:
                        Console.WriteLine("Invalid text...");
                        break;
                }
    
                //hit ENTER to exit
                Console.ReadLine();
            }
        }
    }
    
    

    Output

    输出量

    First run:
    Enter some text: This is a game.
    text started with "This"
    
    Second run:
    Enter some text: That is a book.
    text started with "That"
    
    Third run:
    Enter some text: These are cows.
    Invalid text...
    
    
    

    翻译自: https://www.includehelp.com/dot-net/using-string-with-switch-case-statement-in-c-sharp.aspx

    c#中将字符串转变成整形

    展开全文
  • java中 switch case语句 处理字符串

    千次阅读 2021-01-15 14:22:46
    switch可以用来判断java中的字符串 源代码: package com.HePing.sturct; import java.util.Scanner; public class Switch_Demo02 { public static void main(String[] args) { Scanner scanner = new Scanner...

    switch可以用来判断java中的字符串

    源代码:

    package com.HePing.sturct;
    
    import java.util.Scanner;
    
    public class Switch_Demo02 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            String name = scanner.nextLine();
    
            switch (name){
                case "徐和平" :
                    System.out.println("徐和平");
                    break;
                case "和平" :
                    System.out.println("和平");
                    break;
                default:
                    System.out.println("弄啥嘞");
    
            }
        }
    }
    
    

    将源代码反编译后:

    //
    // Source code recreated from a .class file by IntelliJ IDEA
    // (powered by FernFlower decompiler)
    //
    
    package com.HePing.sturct;
    
    import java.util.Scanner;
    
    public class Switch_Demo02 {
        public Switch_Demo02() {
        }
    
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            String name = scanner.nextLine();
            byte var4 = -1;
            switch(name.hashCode()) {
            case 695143:
                if (name.equals("和平")) {
                    var4 = 1;
                }
                break;
            case 24205047:
                if (name.equals("徐和平")) {
                    var4 = 0;
                }
            }
    
            switch(var4) {
            case 0:
                System.out.println("徐和平");
                break;
            case 1:
                System.out.println("和平");
                break;
            default:
                System.out.println("弄啥嘞");
            }
    
        }
    }
    
    

    字符串的实际上是通过hashcode的值来判断的

    展开全文
  • C++ 中 switch case语句 处理字符串

    万次阅读 2017-02-27 18:27:47
    C++ 中switch 语句中,case 不识别字符串,虽然可以 if......elseif ......来判断,但比较繁琐。故需要对字符串进行编码,使用枚举类型,将字符串一一对应枚举类型

    众所周知,C++ 的switch 语句中,case 不识别字符串;

    如果有很多字符串,虽然可以用 if......elseif ......elseif ......elseif ......elseif ......elseif 来判断,但写起来比较麻烦,易出错,阅读代码不直观。

    想用用switch case处理字符串,需要转换一下。case只认识常量表达式,故需要对字符串进行编码,使用枚举类型,将字符串一一对应枚举类型。可以单独定义一个类,实现这个功能。

    enum ID_Enum
    {
        ID_Invalid	= 0,
        ID_Shape,
        ID_Image,
        ID_Topic,
        ID_Boundary,
        ID_Connector,
    	...
    };

     
    

    使用前定义个bind函数来绑定字符串和枚举,函数将键值对放进map 中保存。

        bind(ID_Shape,         STR_Shape);
        bind(ID_Image,         STR_Image);
        bind(ID_Topic,         STR_MainTopic);
        bind(ID_Boundary,      STR_Boundary);
        bind(ID_Connector,     STR_Connector);

    注:STR_Shape 等是宏定义,代表固定字符串“Shape”。

    使用时,先找到str 在map 中对应的id,再使用switch case:

        int nKey = Manager::keyFromString(str);
        switch(nKey)
        {
        case ID_Shape:		...	break;
        case ID_Image:		...	break;
        case ID_Topic:		...	break;
        case ID_Boundary:	...	break;
        case ID_Connector:	...	break;
          }
    这样做,对大量的相似字符串可以进行有效操作,使用起来很方便。


    展开全文
  • 能否?比如说01代表数学,02代表语文!我要判断传过来的属性是否等于01或者02,然后再把数学或者语文赋值上去!
  • C++ switch case 匹配字符串(全网最简单)

    万次阅读 多人点赞 2019-07-17 09:38:37
    switch case 只识别整数和枚举类型,计算机的汉字是从Unicode编码成UTF-8的,Unicode是十六进制数表示,嗯好像可以实现。 需要用到 C++ 11 中 constexpr (常量表达式) 因为 case 之后要求的必须是常量,C++ 11正好...

    C++ switch case 匹配字符串(全网最简单)

    我们会遇到这样一个问题:
    如果有很多字符串,我们要把它们区分开来,我们可以用

    if
        ......
    else if
        ......
    else if
        ......
    else if
        ......
    else if
        ......
    else if
        ......
    (有点凑字数的嫌疑)
    

    可见,写起来比较麻烦,阅读代码不直观,而且写到最后容易崩溃,看起来实在是太乱了。
    如果我们用 switch case 来解决就会舒服很多,比如:
    在这里插入图片描述
    额,好像和计划有出入,一大堆错误,编译器大哥貌似对此表示强烈不满和坚决反对。
    没办法,学习C++的同学都知道,C++ 中 switch case 语句不识别字符串。看来只能老老实实的用 if … else if … 了。

    等等,似乎可以另辟蹊径

    switch case 只识别整数和枚举类型,计算机的汉字是从Unicode编码成UTF-8的,Unicode是十六进制数表示,嗯好像可以实现。

    需要用到 C++ 11 中 constexpr (常量表达式)
    因为 case 之后要求的必须是常量,C++ 11正好提供的有 constexpr 编译期计算出的值作为常量使用。

    代码:

    #include <iostream>
    
    int toUnicode(const char* str)
    {
    	return str[0] + (str[1] ? toUnicode(str + 1) : 0);
    }
    
    constexpr inline int U(const char* str)
    {
    	return str[0] + (str[1] ? U(str + 1) : 0);
    }
    
    int main()
    {
    	using namespace std;
    
    	const char* str = "微信公众号: 软件工程 Code";
    
    	switch (toUnicode(str))
    	{
    	case U("软件工程"):
    		cout << "软件工程";
    		break;
    	case U("软件工程 Code"):
    		cout << "软件工程 Code";
    		break;
    	case U("微信公众号: 软件工程 Code"):
    		cout << "微信公众号: 软件工程 Code";
    		break;
    	default:
    		cout << "默认";
    		break;
    	}
    
    	return 0;
    }
    
    

    结果:

    在这里插入图片描述

    总结:

    虽然是最简单便捷的方法,但是准确度不高,比如下面这种情况:
    在这里插入图片描述
    软件工程,程工件软,顺序不一致,但是依然被判断为相同项,因为它们值是相同的,我们可以按位相加就不会出现上面这种情况,这里就不提供解决代码了,上面提供的代码只够应胜任 switch case 处理字符串的需求。

    展开全文
  • 一次机缘巧合,idea中调试代码的时候,跳到了.class文件中,刚好调试的代码是switch,于是就有了下面的内容:对于Java语言来说,Java 7之前,switch语句中的条件表达式的类型只能是与整数类型兼容的类型,包括...
  • QT中switch case用字符串做表达式

    千次阅读 2020-09-02 21:47:56
    QT中使用comboBox控件时需要选择某个下拉选项,而有时下拉选项设置的是字符内容,选择槽函数时又需要选择 currentIndexChanged(QString),这时就会存在问题,需要qHash函数将其进行转换成类似于密码的一数字...
  • c++ switch支持字符串

    千次阅读 2018-10-31 18:46:30
    利用ascii码实现c++ switch支持字符串,而不是结构体与if配合;运行更快。 下面是解析GPS数据demo,windows与liunx系统下字节计算可能存在几个字节偏差,是整体性的;需要自己测试。 进化方法;将字符串转换成...
  • 以前写代码的时候,没有考虑到效率的问题。if……else if……else if 写了老长。...可惜的是,switch case 不支持字符串,着实让我伤脑筋。今天网上查了些资料,得到一些提示,拿出来晒晒。 if...
  • c语言 switch判断字符串 因为c语言中switch里面很难放进字符串,所以才联想到要发表一篇这个文章来抢先吃c语言的螃蟹(其实在上一篇文章中就已经提到了这样的方法了) #define toasc(c) (((unsigned char)(c))&...
  • 1. 问题:实现用字符串作为switch语句的case子句。形如:int main(int argc, const char** argv){ const char* strInput = argv[1]; switch(strInput){ case "first": ...
  • C++ switch case 匹配字符串

    千次阅读 2019-05-05 15:47:51
    有时候,我们想写出下面这样的switch语句: const char* str = "first"; switch(str){ case "first": cout << "1st one" << endl; break; case "second": cout << "2nd one" << ...
  • java switch case 用于字符串的方法

    千次阅读 2015-02-14 10:25:24
    switch (Animal.getAnimal(animal)){    case  cat:   System.out.println( "this is a cat" );    break ;    case  dog:   System.out.println( "this is a dog" );    ...
  • C语言 | switch 语句匹配字符串的方法

    千次阅读 2020-09-29 14:34:38
    某些情形下,我们需要根据一些已知的字符串进行相应的处理,比如根据从串口接收到字符串命令执行操作。 假如要通过串口控制某个设备的开启、关闭以及查询等功能,其控制命令 cmd 分别为 OPEN、CLOSE、 和QUERY。 ...
  • 有一天突发奇想在switch用字符串,遂网上查找一番,下面代码都是抄的,个人测试一下没目前还没发现问题 原文链接:https://blog.csdn.net/yozidream/article/details/22789147 实现 1、定义一个hash函数,计算出...
  • java7 switch case支持字符串的原理解析

    千次阅读 2015-12-25 14:43:12
    java7 switch case支持String, 是jvm支持吗? No,下面有图有真相 先来看一下源码public void say(String lang) { switch (lang) { case "java": System.out.println("hello java!"); break;
  • 多选择结构还有switch case语句可以实现 switch case语句判断一个变量与一系列值中某个值是否相等,每一个值称为一个分支 语法 switch(expression){ case value: //语句 break;//可选 case value: //语句 ...
  • 字面量常量运算符,switch case 字符串的简单举例 constexpr
  • Java7之后的版本才开始支持switch字符串,但是内部实现case还是基于整形变量的匹配。下面编写一个使用switch字符串的sample来看下。 package org.sun.sample.pojo; /** * Created by aron on 16-4-11. */ ...
  • switch……case不能匹配字符串的方法

    千次阅读 2015-10-23 10:24:51
    思路:  将字符串添加到map容器中 ... 在Switch使用这个索引值判断  stdafx.h 添加头文件  #include //注 CPP中直接添加头文件时 出现了错误 不知道什么原因造成的 [cpp] view p
  • const arr = [{name:'ming',score:'100'},{name:'hong',score:'50'},{name:'yun',score:'25'}] let scoreArr = [] for(let i=0;... switch (arr[i].score) { case '100': scoreArr[i] = '优秀...
  • strcmp(字符串1, 字符串2):用于比较两个字符串是否相等,若相等,则返回0, 若字符串1大于字符串2 返回1, 小于返回-1 strlen(字符串):返回一个字符串长度 strcpy(字符数组, 字符串):将字符串
  • 看一段代码,这是一道试题,思考一下,结果是什么?为什么? ... public class SwitchTest { public static void main(String[] args) { String paramStr = null;... switch (paramStr){ case "boy": break;
  • js switch 字符串

    2019-04-25 12:24:00
    //字符串var day="dd";switch (day){case "dd": x="day it's dd"; break;case "ff": x="day it's ff"; break;default: x="day is default";} 输出 "day it's dd" 转载于:...
  • 有时候,我们想写出下面这样的switch语句: const char* str = "first";  switch(str){  case "first":   cout "1st one"  endl;   break;  case "second...
  • #ifndef _SWITCH_CASE_INIT_ #define _SWITCH_CASE_INIT_ #define _SWITCH(X) {char *__switch_p__;\ int __switch_next__;\ for(__switch_p__ = X ? (char *)X : NULL; \
  • C++中如何使用switch字符串

    千次阅读 2019-09-29 03:07:48
    switch typedef std::uint64_t hash_t; constexpr hash_t prime = 0x100000001B3ull; constexpr hash_t basis = 0xCBF29CE484222325ull; hash_t hash_(char const* str) { hash_t ret{ basis }; ...
  • case 'digital-marketing-and-seo': $new_url = "Digital Marketing & SEO"; break; case 'websites-digital-destinations': $new_url = "Websites & Digital Destinations"; break; case 'brand-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 237,881
精华内容 95,152
关键字:

case怎么在switch用字符串