Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将字符串变量值转换为文字_C#_Variables_Type Conversion - Fatal编程技术网

C# 将字符串变量值转换为文字

C# 将字符串变量值转换为文字,c#,variables,type-conversion,C#,Variables,Type Conversion,我想将字符串变量转换为文字。比如说, string parametervalue= "+"; 我想把这个字符串变量转换成文字,这样我就可以使用 int total = valueA (parametervalue) valueB; 因此,它应该在运行时作为 total = valueA + valueB 但是如何将字符串变量转换为文本。做这件事的方法是什么 感谢你的帮助。不幸的是,C#不支持你的要求 但是有一些东西是接近你想要的,它可以在C#6上使用,并且使弦的演奏更容易一些 这称为字符

我想将字符串变量转换为文字。比如说,

string parametervalue= "+";
我想把这个字符串变量转换成文字,这样我就可以使用

int total = valueA (parametervalue) valueB; 
因此,它应该在运行时作为

total = valueA + valueB
但是如何将字符串变量转换为文本。做这件事的方法是什么

感谢你的帮助。

不幸的是,C#不支持你的要求

但是有一些东西是接近你想要的,它可以在C#6上使用,并且使弦的演奏更容易一些

这称为字符串插值,下面是一个示例:

var x = $"\{this.FirstName} \{this.LastName}"
其中FirstName和LastName是变量。 请在

中阅读更多关于它的内容,不幸的是,C#不支持您的要求

但是有一些东西是接近你想要的,它可以在C#6上使用,并且使弦的演奏更容易一些

这称为字符串插值,下面是一个示例:

var x = $"\{this.FirstName} \{this.LastName}"
其中FirstName和LastName是变量。
请在

中阅读更多关于它的信息。这对您有用吗?当parametervalue来自用户时,必须对其进行验证

 switch (parametervalue)
        {
            case "+":
                total = valueA + valueB;
                break;

            case "-":
                total = valueA - valueB;
                break;

            case "*":
                total = valueA * valueB;
                break;

            case "/":
                total = valueA / valueB;
                break;

            default:
                throw new NotSupportedException();
        }

这对你有用吗?当parametervalue来自用户时,必须对其进行验证

 switch (parametervalue)
        {
            case "+":
                total = valueA + valueB;
                break;

            case "-":
                total = valueA - valueB;
                break;

            case "*":
                total = valueA * valueB;
                break;

            case "/":
                total = valueA / valueB;
                break;

            default:
                throw new NotSupportedException();
        }

使用扩展方法怎么样

public static double Calculate(this string operation, int x, int y)
        {
            switch (operation)
            {
                case "+": return x + y;
                case "-": return x - y;
                case "*": return x * y;
                case "/": return x / y;
                default: throw new Exception("invalid operator");
            }
        }

然后您可以像这样使用它
var result=parametervalue.Calculate(valueA,valueB)

使用扩展方法怎么样

public static double Calculate(this string operation, int x, int y)
        {
            switch (operation)
            {
                case "+": return x + y;
                case "-": return x - y;
                case "*": return x * y;
                case "/": return x / y;
                default: throw new Exception("invalid operator");
            }
        }

然后您可以像这样使用它
var result=parametervalue.Calculate(valueA,valueB)

AFAIK在C中没有办法做到这一点-基本上,您要求的是扩展元编程能力,这里做类似事情的明显方法是
Func add=(a,b)=>a+b;int total=add(valueA,valueB)
oh这很有用。谢谢:)我可能会使用你建议的另一种方法。好吧,在C中没有办法做到这一点-你基本上是在要求扩展元编程能力,这里做类似事情的明显方法是
Func add=(a,b)=>a+b;int total=add(valueA,valueB)
oh这很有用。谢谢:)我可能会用你建议的另一种方法。