1

我想在 Linq 中调用一个简单的方法组,但收到此错误。

The call is ambiguous between the following methods or properties: 'System.Linq.Enumerable.Select<string,int>(System.Collections.Generic.IEnumerable<string>, System.Func<string,int>)' and 'System.Linq.Enumerable.Select<string,int>(System.Collections.Generic.IEnumerable<string>, System.Func<string,int,int>)'

var num = new [] { "12345", "5432" };

num.Select(Convert.ToInt32);

我知道调用哪个方法之间存在歧义。但是,我的问题是,有没有一种方法可以在正常调用该方法的情况下指定签名。我想通过不必使用 lambda 表达式来节省打字。

谢谢。

4

1 回答 1

2

您可以显式转换:

num.Select((Func<String, Int32>)Convert.ToInt32);

于 2012-12-11T15:24:14.003 回答