- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不想在这里引发争论,但无论出于何种原因,通常都会说 Visual Basic 不区分大小写,而 C 语言则不然(不知何故,这是一件好事)。
但我的问题是:Visual Basic 到底在哪里不区分大小写?当我输入时...
Dim ss As String
Dim SS As String
...进入Visual Studio 2008或Visual Studio 2010 IDE,第二个有一个警告“本地变量 SS
已在当前 block 中声明”。在 VBA VBE 中,它不会立即踢出错误,而只是自动更正大小写。
我是否遗漏了 Visual Basic 不区分大小写这一论点? (另外,如果你知道或愿意回答,那为什么会是一件坏事呢?)
我为什么要问这个问题?
我在许多项目中都使用过 Visual Basic方言已经很多年了,有时是业余爱好者,有时是小与商业相关的类(class)工作组。截至过去六个月,我一直在做一个大项目比我预期的要大得多。很多那里的示例源代码是在 C# 中。我没有任何燃烧想要学习C#,但是如果有的话我在 C# 中错过的东西提供 Visual Basic 不提供的功能(相反将是 VB.NET 提供 XML Literals ),那么我想知道有关该功能的更多信息。所以在这个在这种情况下,人们常常认为 C语言区分大小写并且很好,Visual Basic 就是这样不敏感,这是不好的。 ID想知道...
最佳答案
VBA 和 VB.NET 之间的区别只是因为 VB.NET 在后台持续编译。编译 VBA 时会出现错误。
与 Jonathan says 一样,在编程时,除了字符串比较、XML 和其他一些情况之外,您可以将 VB.NET 视为不区分大小写...
我认为您对幕后的内容感兴趣。好吧,.NET 公共(public)语言运行时区分大小写,而 VB.NET 代码依赖于运行时,因此您可以看到它在运行时必须区分大小写,例如当它查找变量和方法时。
VB.NET 编译器和编辑器允许您忽略这一点 - 因为它们更正代码中的大小写。
如果您尝试使用动态功能或后期绑定(bind)(Option Strict Off),您可以证明底层运行时是区分大小写的。另一种了解这一点的方法是认识到像 C# 这样区分大小写的语言使用相同的运行时,因此运行时显然支持区分大小写。
编辑如果您想将 IDE 排除在外,您可以随时使用 compile from the command-line 。在 Notepad 中编辑代码,使其具有 ss
和 SS
并查看编译器会做什么。
编辑引用Jeffrey Richter第45页中的.NET Framework Design Guidelines。
To be clear, the CLR is actually case-sensitive. Some programming languages, like Visual Basic, are case insensitive. When the Visual Basic compiler is trying to resolve a method call to a type defined in a case-sensitive language like C#, the compiler (not the CLR) figures out the actual case of the method's name and embeds it in metadata. The CLR knows nothing about this. Now if you are using reflection to bind to a method, the reflection APIs do offer the ability to do case-insensitive lookups. This is the extent to which the CLR offers case-insensitivity.
关于vb.net - VB真的不区分大小写吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2300983/
不确定是否可能,但只是想知道 CSS 中是否有一种方法来区分两种浏览器,即 IE6 和 IE8,因为我有一个我需要应用的样式,但 IE6 和 IE8 的值需要不同,即 ul.sf-menu li li
我正在为 C 库编写 C++ 抽象。 C 库有几个用于标识远程资源的 ID 的类型定义: typedef int color_id; typedef int smell_id; typedef int
有谁知道当以编程方式遍历 Word 文档时,您可以判断一个段落是否构成目录的一部分(或者实际上,构成字段一部分的任何其他内容)。 我提出这个问题的原因是我有一个 VB 程序,它应该从文档中提取前几段实
假设我的数据集包含三列:id(标识)、case(字符)和 value(数字)。这是我的数据集: tdata <- data.frame(id=c(1,1,1,1,2,2,2,2,3,3,3,3,4,4
我在解释 gcc (4.8.2) 警告和错误时遇到问题。更准确地说,很难分辨一个问题在哪里结束,另一个问题从哪里开始。我只能通过控制台访问构建机器,因此不能选择使用 IDE。 我真的需要能够快速区分个
我想创建一个泛型类型,它只从类定义中选择修饰的方法。 function test(ctor: any, methodName: any) {} class A { @test publ
是否有规范的 base-R 方法来确定函数参数是否是对象名称而不是文字/表达式? 虽然通常不鼓励使用 NSE,但偶尔会有人有一个好主意并想使用它。 data.frame 是我认为“方便”的最简单用例:
我已经实现了 didSelectRowAtIndexPath 和accessoryButtonTappedForRowWithIndexPath 似乎永远不会触发。但是,didSelectRowAtI
我需要确定数据框中的哪些列是小数,哪些是字符串。 使用 df.dtypes 为两种列类型提供“对象”: import pandas as pd import decimal data = {'dec1
有没有办法在 Vim 中区分隐藏缓冲区和事件缓冲区? 我需要确定窗口中的缓冲区是否处于事件状态,以便可以切换它。 尝试了 bufloaded、bufexists 和 buflisted,但它们对于事件
在 JavaScript 中区分事件的最佳方法是什么。 实际上有两点我感兴趣。第一点是事件中是否有类似 id 的东西(这对于调试目的非常有用)。另一点是有更好的方法来区分 mousedown 和 mo
我有一个 php 页面,里面有多个表单。 "> "> " value=""> " value=""> 这些表单是通过循环遍历 MySQL 上的所有数据而生成的。每个表单和输入都
Pony 有一个未参数化的异常值。 不幸的是,我经常有一些代码想要抛出不同类型的异常,并且我需要知道它们是什么,以便正确处理它们——例如,简单地说,当停止程序时,向用户提供以下信息很重要正确的错误消息
出于对所有神圣事物的热爱,您如何区分预定义的 .NET 异常类中的不同“异常风格”? 例如,一段代码可能会抛出 XmlException在以下条件下: 文档的根元素为NULL 文档中的字符无效 文档太
正如您在下面看到的,我创建了一个 JComboBox,其中“选项”数组中的元素作为列表中的选项。 当选择列表中的特定项目时,我想显示 JLabels“一个”或“两个”。例如。选择选项一显示“一”,选择
我有一个表,其中包含四列用户名、产品名称、产品价格和一个名为 item_paid 的 boolean 列。相同的产品名称可以作为重复条目插入到表中。但是有没有办法区分一行和重复行?或者我应该创建一个名
是否可以使用反射来区分仅 getter 属性和表达式主体属性? class MyClass { DateTime GetterOnly { get; } DateTime Expres
我即将为一个学校项目制作一个小程序,该程序应该能够识别通过 MIDI 钢琴输入演奏的和弦(这只是其中的一部分)。 目前为止,每次按下和每次释放 MIDI 键盘上的某个键,我都会得到一个 ShortMe
我正在使用“自动”反序列化器从 Kafka 消费 Avro 序列化消息,例如: props.put( ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFI
我需要从两个表中检索数据。第一个是事件列表,第二个是 field 列表。 我在两个表中都有一个同名的字段:events.venue(这是一个 ID),venues.venue 是地点的名称,比如“bl
我是一名优秀的程序员,十分优秀!