C# 如何将包含字符的枚举列表设置为*、/、-、%和+;
我写了一个计算器程序,有一些主要的操作符,比如C# 如何将包含字符的枚举列表设置为*、/、-、%和+;,c#,c#-4.0,enums,char,C#,C# 4.0,Enums,Char,我写了一个计算器程序,有一些主要的操作符,比如+,-,*,/和% 我想创建一个包含这些字符的枚举,用于检查用户输入 这怎么可能呢?这里有一个“方法”: class Operations { public static string Plus = "+"; public static string Minus = "-"; public static string Times = "*"; public static string Divide = "/"; }
+
,-
,*
,/
和%
我想创建一个包含这些字符的枚举,用于检查用户输入
这怎么可能呢?这里有一个“方法”:
class Operations
{
public static string Plus = "+";
public static string Minus = "-";
public static string Times = "*";
public static string Divide = "/";
}
和使用:
if (input == Operations.Plus) { }
试试这个
enum chars1 { plus = '+' , minus='-' };
然后你可以像这样使用它
char newChar =(char)chars1.plus;
我想创建一个包含上述字符的可枚举项
这就是你需要的
。。。检查用户操作员输入验证的步骤
很简单:
if (s.Contains(userInput)) { ...
假设用户选择的是
userInput
。通常,不能将字符类型声明为枚举的基础。但是,您可以将此变通方法用于扩展方法:
enum Sign // ASCII codes
{
Mod = 37, // '%'
Mul = 42, // '*'
Add = 43, // '+'
Sub = 45, // '-'
Div = 47 // '/'
}
static class SignExtension
{
public static Char ToChar(this Sign s)
{
return (s as IConvertible).ToChar(null);
}
}
class MainClass
{
static void Main(String[] args)
{
Sign op = Sign.Add;
Char c = op.ToChar(); // c == '+'
String s1 = op.ToString(); // s1 == "Add"
String s2 = c.ToString(); // s2 == "+"
}
}
小心,Sign.ToString()不会给出所需的结果。您必须调用Sign.ToChar().ToString()才能将符号转换为字符串老实说,为什么还要麻烦使用这些符号呢?你可以简单地写下单词,比如一个带有和、乘、除、减等的枚举数。你说得对。谢谢。plus.ToString()返回“plus”而不是“+”
enum Sign // ASCII codes
{
Mod = 37, // '%'
Mul = 42, // '*'
Add = 43, // '+'
Sub = 45, // '-'
Div = 47 // '/'
}
static class SignExtension
{
public static Char ToChar(this Sign s)
{
return (s as IConvertible).ToChar(null);
}
}
class MainClass
{
static void Main(String[] args)
{
Sign op = Sign.Add;
Char c = op.ToChar(); // c == '+'
String s1 = op.ToString(); // s1 == "Add"
String s2 = c.ToString(); // s2 == "+"
}
}