gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 20:07:39 27 4
gpt4 key购买 nike

因为 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 类的逻辑开发人员在那个方法中写了 ignorecase 标志?

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

最佳答案

枚举可以包含仅大小写不同的值 - 您不能在 VB 中声明它们。这是完全有效的 C#:

public enum Foo
{
A, a;
}

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

关于c# - 为什么 [Enum].Parse 有一个 ignoreCase 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19489684/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com