Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用TypeConverter进行不区分大小写的已验证枚举转换_C#_.net_Type Conversion_Case Insensitive - Fatal编程技术网

C# 使用TypeConverter进行不区分大小写的已验证枚举转换

C# 使用TypeConverter进行不区分大小写的已验证枚举转换,c#,.net,type-conversion,case-insensitive,C#,.net,Type Conversion,Case Insensitive,使用Enum.Parse,我可以忽略大小写: var result = (EnumType)Enum.Parse(typeof(EnumType), input, ignoreCase:true) 但当我使用TypeConverter时,除非我的字符串与枚举完全匹配,否则它将失败: var converter = TypeDescriptor.GetConverter(typeof(EnumType)); if (converter.IsValid(first)) { var resu

使用Enum.Parse,我可以忽略大小写:

var result = (EnumType)Enum.Parse(typeof(EnumType), input, ignoreCase:true)
但当我使用TypeConverter时,除非我的字符串与枚举完全匹配,否则它将失败:

var converter = TypeDescriptor.GetConverter(typeof(EnumType));
if (converter.IsValid(first))
{
    var result = (EnumType)converter.ConvertFromString(input);
}
有没有办法使TypeConverter有效,不区分大小写,或者我只需要在这里使用基于异常的编程?我什么也看不见


我正在尝试将字符串输入转换为所需类型的通用方法,因此我想使用TypeConverter。

我认为
ConvertFromString
方法默认不区分大小写?您的代码转换不区分大小写。或者您想使其区分大小写?啊,对了,我使用了converter.IsValid来避免异常处理,这是区分大小写的