首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET选项CompareTo

.NET选项CompareTo
EN

Stack Overflow用户
提问于 2012-08-20 14:51:49
回答 2查看 285关注 0票数 1

我知道在.NET中,对象可以实现比较器和可比较接口,然后重写compare和compareto。

Option Compare如何适应这一点?我知道Option Compare允许使用文本方法或二进制方法来比较字符串。这些是比较器的不同实现吗?

EN

回答 2

Stack Overflow用户

发布于 2012-08-20 15:20:21

Option Compare Text来自最初的非.NET VB。它的存在是为了兼容和/或方便VBx用户,但它并不真正属于.NET框架范例,在这种范例中,您可以在需要时提供比较器。

它只影响在代码中完成的直接字符串比较,例如将运算符=<><>应用于String类型的变量和文字。它没有覆盖任何可比较的接口,而且String类也没有任何接口。

就我个人而言,我不喜欢混用这两种范式,因此根本就不使用Option Compare Text。当我需要不区分大小写的比较时,我使用String.Compare(s1, s2, True);当我需要为函数提供不区分大小写的比较器时,我传递StringComparer.CurrentCultureIgnoreCase

票数 3
EN

Stack Overflow用户

发布于 2012-08-20 15:11:27

请参阅http://msdn.microsoft.com/en-us/library/t0k7484c(v=vs.100).aspx

选项(Explicit|Strict| Compare |Infer)是让编译器知道在将VB.NET代码转换为可执行文件时要设置哪些标志(它们决定编译器如何解释您试图对代码执行的操作,例如Option Compare将切换字符串操作的文本(不区分大小写)或二进制(区分大小写)比较)。它们与.NET框架构造没有任何关系,并定义VB.NET代码应该如何被其他.NET语言解释,比如C#或F#。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12033329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档