C# 将字符串的输出转换为数值

C# 将字符串的输出转换为数值,c#,C#,我有以下代码 Call.Direction CallDir = details.dir; 输出为In或out 我的问题是如何将输出转换为以下内容: 如果CallDir值在==>中,则显示0 如果CallDir值为Out==>则显示1 好的,如果您想基于枚举返回不同的值,只需执行以下操作: return CallDir == Call.Direction.In ? 0 : 1; 但是,如果您所说的是details.dir是一个In或Out字符串,您需要将其放入枚举中,然后执行以下操作: C

我有以下代码

Call.Direction CallDir = details.dir; 
输出为
In
out

我的问题是如何将输出转换为以下内容:

  • 如果CallDir值在==>中,则显示0
  • 如果CallDir值为Out==>则显示1

好的,如果您想基于
枚举返回不同的值,只需执行以下操作:

return CallDir == Call.Direction.In ? 0 : 1;
但是,如果您所说的是
details.dir
是一个
In
Out
字符串,您需要将其放入
枚举中,然后执行以下操作:

Call.Direction CallDir;
if (!enum.TryParse<Call.Direction>(details.dir, out CallDir))
{
    // set it to some default value because it failed
}
Call.Direction CallDir;
如果(!enum.TryParse(details.dir,out CallDir))
{
//将其设置为某个默认值,因为它失败
}

除了Michael所说的,如果您的
enum
是用适当的值定义的,您可以简单地将其转换为
int

enum CallDirection { In = 0, Out = 1 }

var dir = CallDirection.In;

Console.Write((int)dir); // "0"

什么是呼叫方向
;一个
枚举
?如果是,请显示其定义。是的,它是一个枚举,用于呼叫方向