我正在尝试列出表单中的所有按钮名称以使用代码列出
var v = new List<Form1>() { this }.ForEach(x => { x.GetType().Name.Contains(typeof(Button).Name); });
并总是出现错误
无法将 void 分配给隐式类型的局部变量
如何绕过它?
Foreach
回报void
这就是你收到错误的原因。您在作业右侧的声明不会返回任何内容。您可以在两个语句中执行相同的操作,例如:
var v = new List<Form1>() { this };
v.ForEach(x => { x.GetType().Name.Contains(typeof(Button).Name); });
在当前代码中,您正在创建一个新的List<Form1>
然后迭代列表中的每个项目,但您不会返回任何内容。
正如 Jon Skeet 在评论中指出的那样,它不会对列表产生任何影响。我猜您正在尝试从您可以执行的表单列表中获取所有按钮:
var allButtons = v.SelectMany(r => r.Controls.OfType<Button>()).ToList();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)