特征递归模式目前处于预览状态 Visual studio 2019
The feature recursive patterns is currently in preview Visual studio 2019
The feature recursive patterns is currently in preview, to use preview feature, please select preview version
switch (transactionRecieved)
{
case TransactionType.TransactionName.ToString():
break;
case TransactionType.TransactionName1.ToString():
break;
}
我没有使用任何新东西。这是一般情况,我们一直像这样将其用于 enum
TransactionType
is a enum
我也看过这个 post 没觉得有用。SO Post
I need to use enum in swith statement and I am not able to use it.
could anyone help me on that part
如果你问 "why doesn't this work"?我不确定你是否一直这样使用它,因为 case
需要一个常数值:
将您的字符串 transactionRecieved
解析为具有 Enum.Parse
或 Enum.TryParse<T>
的 TransactionType 枚举,然后从您的案例中删除 ToString()
,例如:
var x = "Whatever";
if(Enum.TryParse<TransactionType>(x, out xEnum)){
switch(xEnum){
case TransactionType.Whatever:
break;
}
}
备注:
* xEnum
在 if
范围内
Enum.IsDefined
可以与 Enum.Parse
结合使用(但我发现 tryparse 更整洁)
The feature recursive patterns is currently in preview, to use preview feature, please select preview version
switch (transactionRecieved)
{
case TransactionType.TransactionName.ToString():
break;
case TransactionType.TransactionName1.ToString():
break;
}
我没有使用任何新东西。这是一般情况,我们一直像这样将其用于 enum
TransactionType
is a enum
我也看过这个 post 没觉得有用。SO Post
I need to use enum in swith statement and I am not able to use it. could anyone help me on that part
如果你问 "why doesn't this work"?我不确定你是否一直这样使用它,因为 case
需要一个常数值:
将您的字符串 transactionRecieved
解析为具有 Enum.Parse
或 Enum.TryParse<T>
的 TransactionType 枚举,然后从您的案例中删除 ToString()
,例如:
var x = "Whatever";
if(Enum.TryParse<TransactionType>(x, out xEnum)){
switch(xEnum){
case TransactionType.Whatever:
break;
}
}
备注:
* xEnum
在 if
Enum.IsDefined
可以与Enum.Parse
结合使用(但我发现 tryparse 更整洁)