我经常遇到一个错误,如“无法从'方法组'转换为'字符串'”在这种情况下:
var list = new List<string>();
// ... snip
list.Add(someObject.ToString);
当然,在最后一行中有一个拼写错误,因为我忘记了ToString之后的调用括号。正确的形式应该是:
var list = new List<string>();
// ... snip
list.Add(someObject.ToString()); // <- notice the parentheses
然而,我开始想知道什么是方法组。谷歌没有多大帮助,也没有MSDN。
同样,如果你正在使用LINQ,你显然可以做一些类似myList.Select(methodGroup)的事情。
例如,我有:
private string DoSomethingToMyString(string input)
{
// blah
}
而不是像这样显式地声明变量:
public List<string> GetStringStuff()
{
return something.getStringsFromSomewhere.Select(str => DoSomethingToMyString(str));
}
我可以省略var的名字:
public List<string> GetStringStuff()
{
return something.getStringsFromSomewhere.Select(DoSomethingToMyString);
}