Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C-.Select(int.Parse),编译器错误cs0411_C#_Linq_Select - Fatal编程技术网

C# C-.Select(int.Parse),编译器错误cs0411

C# C-.Select(int.Parse),编译器错误cs0411,c#,linq,select,C#,Linq,Select,我刚刚读到这个问题: 有一个字符串数组: var arr = new string[] { "1", "2", "3", "4" }; 其中一个被接受的答案是: int[] myInts = arr.Select(int.Parse).ToArray(); 我自己尝试过,收到一个cs04011编译器错误: string str = "4 8 15 16 23 42"; int[] intArray = str.Split(' ').Select(int.Parse).ToArray();

我刚刚读到这个问题:

有一个字符串数组:

var arr = new string[] { "1", "2", "3", "4" };
其中一个被接受的答案是:

int[] myInts = arr.Select(int.Parse).ToArray();
我自己尝试过,收到一个cs04011编译器错误:

string str = "4 8 15 16 23 42";
int[] intArray = str.Split(' ').Select(int.Parse).ToArray();
这是第页,描述此编译器错误:

如果我这样做,效果很好:

int[] intArray = str.Split(' ').Select(p=>int.Parse(p)).ToArray();
我想知道,为什么上一个问题被接受的asnwer工作得很好,而我得到了一个错误

我的猜测是,我的VisualStudio2008Express,targetedFramework=3.5不好,但我没有找到任何证据


提前谢谢

简单的回答是:C类型推断和对方法组转换的支持随着时间的推移而改进。您仍然在使用Vs2008中提供的C3编译器。确切的细节是很棘手的,我永远记不清规范中到底发生了什么变化——类型推断是规范中比较复杂的部分之一,而且据我所知,它并没有完全正确地描述预期的行为

如果您使用的是遵循最新语言规则的最新编译器,那么就可以了。这并不取决于目标框架的版本,这里只与编译器/语言版本相关


我强烈建议直接升级到Visual Studio 2015-C 6具有一些可爱的功能,可以从代码中去除积垢…

简单的回答是:C类型推断和对方法组转换的支持随着时间的推移而改进。您仍然在使用Vs2008中提供的C3编译器。确切的细节是很棘手的,我永远记不清规范中到底发生了什么变化——类型推断是规范中比较复杂的部分之一,而且据我所知,它并没有完全正确地描述预期的行为

如果您使用的是遵循最新语言规则的最新编译器,那么就可以了。这并不取决于目标框架的版本,这里只与编译器/语言版本相关


我强烈建议直接升级到Visual Studio 2015-C 6具有一些可爱的功能,可以从代码中删除积垢…

非常感谢,@Jon Skeet!另外,我正在看你的书,太棒了非常感谢你,@Jon Skeet!另外,我正在看你的书,太棒了