.NET选项比较

.NET选项比较,.net,vb.net,.net,Vb.net,我知道在.NET中,对象可以实现Comparator和Comparable接口,然后重写compare和compareto 选项比较如何适应这种情况?我知道选项Compare允许使用文本方法或二进制方法比较字符串。这些是比较器的不同实现吗?请参阅 选项(显式|严格|比较|推断)用于让编译器知道在将VB.NET代码转换为可执行文件时要设置哪些标志(它们决定编译器如何解释您试图对代码执行的操作,例如,选项比较切换文本(不区分大小写)或二进制(区分大小写)字符串操作比较)。它们与.NET框架结构无关,

我知道在.NET中,对象可以实现Comparator和Comparable接口,然后重写compare和compareto

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

请参阅


选项(显式|严格|比较|推断)用于让编译器知道在将VB.NET代码转换为可执行文件时要设置哪些标志(它们决定编译器如何解释您试图对代码执行的操作,例如,选项比较切换文本(不区分大小写)或二进制(区分大小写)字符串操作比较)。它们与.NET框架结构无关,它们定义了其他.NET语言(如C#或F#)应如何解释VB.NET代码。

选项比较文本
来自原始的非.NET VB。它是为了VBx用户的兼容性和/或便利性而存在的,但它并不真正属于.NET framework范例,您可以在需要时提供比较器

它只影响在代码中进行的直接字符串比较,例如将运算符
=
应用于
字符串类型的变量和文本。它不会覆盖任何可比较的接口,
String
类也没有任何可比较的接口


我个人不喜欢混合范例,因此根本不使用
选项Compare Text
。当我需要不区分大小写的比较时,我使用,当我需要为函数提供不区分大小写的比较器时,我传递。

+1,如果使用运算符重载会发生什么?我相信它在.NET中是合法的,但在Java中是非法的。@w0051977您真的能为
字符串
类重载
操作符=
?我想你做不到。如果您为您的类重载一个运算符,其中一个成员是
字符串
,那么将该
字符串
成员与重载运算符中的另一个字符串进行比较将由
选项Compare
控制。