【发布时间】:2012-05-15 06:29:36
【问题描述】:
我无法从 ForEach 返回,这是我的代码:
cards.ForEach(delegate(Card c){
if (c.GetFaceValue().ToString() == card) {
return "Your Card has been located";
}
错误:
无法将匿名方法转换为委托类型“... .Card>”,因为块中的某些返回类型不能隐式转换为委托返回类型
以下内容也不起作用,因为CheckCard 只能返回 void:
cards.ForEach(CheckCard);
public string CheckCard(Card c) {
if (c.GetFaceValue().ToString() == card) { // card = global
return "Your Card has been located";
}
}
错误:
'string SharedGamesClasses.Hand.CheckCard(SharedGamesClasses.Card)' 返回类型错误
【问题讨论】:
-
要对某事进行 foreach,您希望委托返回实现 IEnumerable 的内容。想想 List.FindAll 之类的东西。