我不是试图在这里开始论证,但无论出于何种原因,它通常表明Visual Basic不区分大小写,C语言不是(并且不知何故这是一件好事).
但这是我的问题:Visual Basic在哪里确实不区分大小写?当我输入...
Dim ss As String
Dim SS As String
Run Code Online (Sandbox Code Playgroud)
...进入Visual Studio 2008或Visual Studio 2010 IDE,第二个警告" 已在当前块中声明了局部变量SS ".在VBA VBE中,它不会立即引发错误,而只是自动更正案例.
我在这里错过了一些关于Visual Basic不区分大小写的论点吗?(另外,如果你知道或想要回答,为什么这会是一件坏事?)
为什么我甚至都会问这个问题?
我已经在很多方言中使用过Visual Basic多年了,有时作为业余爱好者,有时候用于工作组中的小型商业相关程序.截至过去六个月,我一直致力于一个比我预期的大得多的大项目.许多示例源代码都在C#中.我没有任何学习C#的强烈愿望,但如果有些东西我错过了C#提供的Visual Basic没有(相反的是VB.NET提供XML Literals),那么我想了解有关该功能的更多信息.所以在这种情况下,经常认为C语言是区分大小写的,这很好,Visual Basic不区分大小写,这很糟糕.我想知道...
通常当我在一个类或一个结构体中有一个私有字段时,我使用camelCasing,所以当你看到它的名字时它显然是私有的,但是在我的一些同事的C#代码中,我看到它们使用了m_大多数或有时候_,就像有某种惯例.
.NET命名约定是否阻止您使用成员名称的下划线?
当你提到MS命名约定或不提及时,他们会告诉你他们的最佳方式,但不解释其背后的原因.
此外,当我是某些代码的所有者时,我明确地将camelCasing用于私有成员,当他们必须对代码进行微小修改时,他们会坚持他们的约定而不是遵循任何约定.
这是一个争议吗?
在C#中,我可以这样做:
public string myProperty { get; private set; }
Run Code Online (Sandbox Code Playgroud)
这被称为"自动吸气器/定位器"(据我所知).VB.NET是否支持这些?到目前为止,凭借我的属性,我所能做的就是:
Public Property myProperty As String
Get
Return String.Empty
End Get
Private Set(ByVal value As String)
somethingElse = value
End Set
End Property
Run Code Online (Sandbox Code Playgroud)
这是非常笨重的.
所以...有更好的方法吗?