VB vs C#:为什么这可能?
这里有一些代码,每当我想到这件事时,都会让我烦恼。
Option Strict On Module Module1 Sub Main() For Each i As Integer In New String() {"why","is","this","tolerated?"} ' compiles just fine. Next End Sub End Module C#根本不允许隐式转换为整数的字符串。 class Program { static void Main(string[] args) { foreach (int i in new string[] {"that's","better"}) { // will not compile,and for good reason. } } } 为什么VB让我们这样做?我正在尝试这样玩乐,因为我在这里还是比较新的,但我也很好奇。我确定那里有开发商的答案。
这似乎是
For Each 声明的特质。根据文档,它在运行时被评估。
从链接:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |