vb.net – VB真的不区分大小写吗?

我不想在这里启动一个参数,但无论出于什么原因,它通常表示Visual Basic不区分大小写,C语言不是(并且不知何故这是一件好事)。

但这里是我的问题:Visual Basic在哪里不区分大小写?当我输入…

Dim ss As String
Dim SS As String

…进入VisualStudio2008Visual Studio 2010 IDE,第二个具有“局部变量SS已在当前块中声明”的警告。在VBA VBE中,它不会立即引发错误,而只是自动纠正这种情况。

我缺少一些这里的参数,Visual Basic不区分大小写? (另外,如果你知道或关心回答,为什么会是一件坏事?)

为什么我甚至问这个问题?

我在其中许多使用Visual Basic
方言多年来,有时为
一个爱好者,有时为小
商业相关计划
工作组。截至过去六个月,
我一直在做一个大项目,
比我预想的大得多。许多
的示例源代码
是在C#。我没有燃烧
渴望学习C#,但如果有的话
事情我错过了C#
提供Visual Basic不(相反
会是VB.NET提供的XML Literals),那么我想知道
更多关于该功能。所以在这里
情况下,经常争论C
语言区分大小写
这是好的和Visual Basic是case
不敏感,这是坏的。 ID
喜欢知道…

> Visual Basic如何
不区分大小写,因为每个
单例中的代码编辑器
变得敏感(意义
情况得到纠正)是否我想
它或不和
>这是令人信服的
考虑移动到C#如果VB.NET情况
是不知何故限制我可以做什么
代码

VBA和 VB.NET间的区别只是因为VB.NET在后台连续编译。编译VBA时会出现错误

Jonathan says,当编程时,你可以认为VB.NET不区分大小写,除了字符串比较,XML和一些其他情况…

我想你对什么是引擎盖感兴趣。嗯,.NET公共语言运行时是区分大小写的,VB.NET代码依赖于运行时,所以你可以看到它必须在运行时区分大小写。当它查找变量和方法

VB.NET编译器和编辑器让你忽略 – 因为他们纠正在你的代码的情况。

如果您使用动态功能或后期绑定(选项严格关闭),您可以证明底层运行时区分大小写。另一种方式看到的是实现像C#的区分大小写的语言使用相同的运行时,所以运行时显然支持区分大小写。

编辑如果你想把IDE从方程,你可以总是compile from the command-line.编辑你的代码Notepad所以它有ss和SS,看看编译器做什么。

编辑报价从Jeffrey Richter.NET Framework Design Guidelines第45页。

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.

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...