C# 和 VB.NET 之间微妙的语言差异之一是是否需要将
DllImportAttribute
应用于标识符中带有结尾字符 'A' 或 'W' 的方法(该字符代表 ANSI 字符集或 Unicode 字符集),以调用 Win32 API。更准确地说,两种语言都允许这两种做法,但 DllImportAttribute.ExactSpelling
参数的默认值 因语言而异。
我对此感到惊讶,因为我将 C# 与更多的机器导向、大小写敏感的标识符匹配联系在一起,而将 VB.NET 与更多的人类导向、不区分大小写的标识符匹配联系在一起,现在这是一个案例,在这个案例中,C# 允许我比 VB.NET 更松散的匹配方式。
这种语言差异背后的逻辑是什么?