gpt4 book ai didi

c# - 无法使用 var 和 foreach 将 void 分配给隐式类型的局部变量

转载 作者:太空狗 更新时间:2023-10-29 19:53:42 24 4
gpt4 key购买 nike

我正在尝试从我的表单中列出所有按钮名称以使用代码列出

var v = new List<Form1>() { this }.ForEach(x => { x.GetType().Name.Contains(typeof(Button).Name); });

总是报错

Cannot assign void to an implicitly-typed local variable

如何绕过它?

最佳答案

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();

关于c# - 无法使用 var 和 foreach 将 void 分配给隐式类型的局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22814302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com