将字符串输出转换为数字值

3
我有下面的代码。
Call.Direction CallDir = details.dir; 

输出结果为 In 或者 out

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

  • 如果 CallDir 的值为 In ===> 显示 0
  • 如果 CallDir 的值为 Out ===> 显示 1

Call.Direction是什么?是一个枚举吗?如果是,请展示它的定义。 - Mike Perrenoud
是的,它是一个枚举,用于指定呼叫的方向。 - Moe R
2个回答

3

好的,所以如果你想根据 enum 返回一个不同的值,只需这样做:

return CallDir == Call.Direction.In ? 0 : 1;

然而,如果你所说的是details.dir是字符串InOut,并且你需要将其转换为enum,那么请按照以下方式操作:

Call.Direction CallDir;
if (!enum.TryParse<Call.Direction>(details.dir, out CallDir))
{
    // set it to some default value because it failed
}

2
除了Michael说的之外,如果你的enum定义了适当的值,你可以将其简单地转换为int
enum CallDirection { In = 0, Out = 1 }

var dir = CallDirection.In;

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接