C# 如何创建允许您从3个参数值中选择一个的函数?

C# 如何创建允许您从3个参数值中选择一个的函数?,c#,.net,wpf,visual-studio,C#,.net,Wpf,Visual Studio,所以我有stringreturntype,开发者可以选择=转换为JSON、XML或打印。 如何限制他的选择,并使VS2008或更高版本向他建议什么值(从这3个值)string returnType?(.net 3.5)您必须使用枚举而不是字符串。使用字符串进行类似的操作是非常难看的——在使用枚举(一个数字)时,甚至需要运行时字符串比较,而不是更便宜的整数或甚至位比较。您可以对字符串执行switch语句。然后对所有无效案例使用默认值。如果我正确理解了这个问题,enum是您要查找的关键字。因此,您需

所以我有
stringreturntype
,开发者可以选择
=
转换为JSON、XML或打印。
如何限制他的选择,并使VS2008或更高版本向他建议什么值(从这3个值)
string returnType
?(.net 3.5)

您必须使用枚举而不是字符串。使用字符串进行类似的操作是非常难看的——在使用枚举(一个数字)时,甚至需要运行时字符串比较,而不是更便宜的整数或甚至位比较。

您可以对字符串执行switch语句。然后对所有无效案例使用默认值。

如果我正确理解了这个问题,
enum
是您要查找的关键字。因此,您需要声明一个数据类型,它表示可用的返回类型:

公共枚举数据格式类型
{
Json,
Xml,
印刷工
}

然后在函数参数中,将
string returnType
更改为
DataFormatType returnType
。这将允许VisualStudio建议值(称为代码完成或Intellisense),唯一有效的值是枚举中提供的值

干杯,
Alex

public enum ReturnType{JSON=0,XML=1,PRINTR=2}The=0,=1,and=2不是必需的,只有在您特别需要将枚举转换为int之类的值时才需要输入它们。请参见示例,您当然是正确的,我借用了@juniorMayhe对@ThiefMaster的注释中的枚举定义,所以我不必自己键入:)
public enum DataFormat{ JSON=0, XML=1, PRINTR=2 } 

public ReturnType SomeFunction( DataFormat format )
{
    if( DataFormat.JSON == format ) 
        return ....
    //etc
}