加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 为什么[Enum] .Parse有一个ignoreCase参数?

发布时间:2020-12-15 04:27:52 所属栏目:百科 来源:网络整理
导读:由于VB.Net中的枚举不能包含重复的值,如下所示: Enum Test A aEnd Enum 那么为什么[Enum] .Parse方法有一个StringCase参数? [Enum].Parse(GetType(Enum),Value,Ignorecase) http://msdn.microsoft.com/en-us/library/system.enum.parse.aspx Parse(Type,St
由于VB.Net中的枚举不能包含重复的值,如下所示:
Enum Test
  A
  a
End Enum

那么为什么[Enum] .Parse方法有一个StringCase参数?

[Enum].Parse(GetType(Enum),Value,Ignorecase)

http://msdn.microsoft.com/en-us/library/system.enum.parse.aspx

Parse(Type,String,Boolean)

这对我来说真的有意义.

哪个.NET Framework Classes的逻辑开发人员在该方法中编写了ignorecase标志?

我认为[Enum] .Parse逻辑应该是自动检查ignorecase值而不是将boolean参数传递给方法,因为枚举不能包含重复…或者它可以包含?

解决方法

枚举可以包含仅在大小写方面不同的值 – 您无法在VB中声明它们.这是完全有效的C#:
public enum Foo
{
    A,a;
}

此外,即使枚举不能包含仅在大小写不同的值,这也不意味着您要么总是希望它区分大小写,要么总是希望它不区分大小写.你建议它应该始终不区分大小写,这对于你试图提供区分大小写的匹配的情况会很烦人. IMO中的唯一选项是不区分大小写匹配,这是一个很好的主意.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读