首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分配给变量的值与用于unicode字符串比较的datatip (hover)或监视表达式不匹配

问分配给变量的值与用于unicode字符串比较的datatip (hover)或监视表达式不匹配
EN

Stack Overflow用户
提问于 2018-04-19 20:11:14
回答 1查看 34关注 0票数 0

我在两个变量之间做一个运算,一个变量的值是"<def",另一个变量的值是"<def"。

代码语言:javascript
复制
Dim str1 = "<test"
Dim str2 = "<test"

Dim different = str1<>str2

当程序运行时,变量different被设置为false。如果我将鼠标停在该行上并将鼠标放在比较上,datatip将显示‘`str<>str2| True ',如果我将表达式放在监视窗口中,则值为True。但是在语句执行之后,变量different会是False吗?

这里发生什么事情?编译器中的错误还是visual studio中的错误?

EN

回答 1

Stack Overflow用户

发布于 2018-04-21 20:35:17

VB.NET从VB6继承了几个文件/项目设置,其中之一是问题:选项比较文本/二进制。

为了与VB6和VB.Net设计理念保持一致,VB.Net对待字符串比较的方式与对待其他引用类型的方式不同。具体地说,比较字符串不仅仅是一个简单的引用检查,而是使用Microsoft.VisualBasic.CompilerServices.Operators.CompareString.完成的这样做的主要目的是提供直观和一致的体验。此方法接受3个参数、2个字符串和一个布尔值。布尔值由Option Compare设置的值确定。如果为真(选项比较文本),则执行大小写和unicode INsensitive比较。

简而言之,使用选项比较文本"s"="S"和"<def" = "<def",在我的项目中它被设置为Text。

一个网络小提琴:https://dotnetfiddle.net/rknrLo

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

https://stackoverflow.com/questions/49920796

复制
相关文章

相似问题

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