- 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/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预
出于某种原因,右栏中的精选文章忽略了“#elementtext”和“#elementtext:hover”属性。仅显示“p.element”和“img.element”。 有什么想法吗? 谢谢 - 塔
我有两个值,每个值都来自不同的枚举。我想检查这两者的允许组合,如果没有找到则执行默认操作。我能以某种方式对这两个值进行切换/大小写吗?我想避免使用多个 if/else 语句或遵循位掩码模式的枚举,只是
我需要 where 但 not 大小写。例如,我想找到没有名字“莎士比亚”的戏剧: _.where(listOfPlays, {author: !"Shakespeare", year: 1611})
我想实现一个 parking 场应用所以有一个带5个或更多 parking 位的车库当司机 parking 时,车库中的下一个空闲位置应该分配给他。 所以我有一个带 5 个或更多插槽的 table 上
我想使用 Erlang 来确定传递给函数的变量是否可以被数字整除。我考虑过使用 case 来执行此操作,但是我找不到解决方案。 case 是适合这项工作的工具吗? 示例:将数字传递给函数 f()。如果
我在 phpmyadmin 中创建了一个表,其列名如 first_name、last_name。当我使用命令显示表中的列名时,它会将它们显示为 first_name。 我想显示我的列名称,如 Firs
使用 Swift 4,如何使用这些规则格式化字符串: 如果单词超过 3 个字母,则首字母大写,否则大写 包含像 St-Michel 这样的连字符的 Pascal 大小写单词 我这里有初稿,但我一直在思
这个问题在这里已经有了答案: Why can't the switch statement be applied to strings? (23 个回答) 关闭 8 年前。 大家好 所以我正在尝试对
在 MVC 操作中,我如何访问使用多个同名值提交的“表单数据”中的值? 我做了什么:int、decimal、string 类型的值工作完美。 问题:每个变体都有一个复选框,所以当我尝试获取它时,它只显
while(1) { char buff[1000]; printf("Enter the word: "); fgets(buff, 1000
我有一个 Dllmain,它在线程附加到此 DLL 时分配线程本地存储。代码如下: BOOL APIENTRY DllMain(HMODULE hModule,
我有一个变量名,比如“WARD_VS_VITAL_SIGNS”,我想将它转换为 Pascal 大小写格式:“WardVsVitalSigns” WARD_VS_VITAL_SIGNS -> WardV
我是 Swift 编码的新手,正在尝试弄清楚如何在触摸节点时制作具有开/关功能的循环音频。我认为实现它的最佳方式是通过 SKAudioNode,但我不确定我在以下代码中做错了什么。当在节点上按下时 -
这是我第一次使用这种枚举,具有关联值类型的枚举,我需要根据对象的类型制作一个 switch 语句,我无法做到,这是枚举: enum TypeEnum { case foo(FooClass)
我想从字符串中删除所有下划线,下划线后面的字符为大写。因此,例如:_my_string_ 变为:MyString 同样:my_string 变为 MyString 有没有更简单的方法呢?我目前有以下内
如何在 Java 中将蛇形大小写转换为 Camel 形大小写? 输入:“input_in_snake_case” 输出:“InputInSnakeCase” 最佳答案 Guava通过其CaseForm
我们有一个表auth_group_access,那么如何使用呢? 在使用M方法时,对于带下划线的表名,可以采用如下方法。 M('AuthGroupAccess'); 对应sql语句SQL: S
我正在制作一个 pygame 游戏,每当我运行我的代码时,我都会收到错误 expected ':'。我知道在 match/case block 中使用 [ 和 ] 用于其他用途,但我该如何解决这个问题
有人能告诉我是否可以使用正则表达式将 url 转换为小写? 这是在 html img 标签内,所以我们可以通过标签找到网址。 这是我所拥有的一个例子 我需要在最后小写图像名称。 该文档包含更多 H
我是一名优秀的程序员,十分优秀!