【发布时间】:2012-06-05 01:34:03
【问题描述】:
我有三个单选按钮。请看图片。
我定义了一个变量
char temp;
我想要的是
如果选择“男性”,那么
temp = "M";
如果选择“女性”则
temp = "F";
如果选择“两者”则
temp = "B".
我未完成的代码:
temp = Convert.ToChar(this.Controls.OfType<RadioButton>().FirstOrDefault(r => r.Checked));
感谢您的建议。
编辑: 控件位于组框中。在调试模式下。我遇到了一个错误。
?groupBox4.Controls.OfType() {System.Linq.Enumerable.OfTypeIterator} 来源:空 和 ?groupBox4.Controls.OfType().FirstOrDefault(r=>r.Checked).Text 表达式不能包含 lambda 表达式
编辑 2: 看图片。运行代码获取异常。
【问题讨论】:
-
this.Controls.OfType<RadioButton>().FirstOrDefault(r => r.Checked).Text[0] -
@Love - 当您说“处于调试模式”时,您是指调试窗口之一(立即?,输出?)还是您只是遇到异常?看看这个solves your problem
-
您不能在即时窗口中使用 Lambda 表达式(请参阅我在上面的评论中添加的链接)。但我不明白为什么这对您的问题或答案有任何影响......运行代码而不尝试在即时窗口中处理它并检查它是否有效。
-
我猜当没有选中单选按钮时会发生这种情况?我在下面更新了我的答案....
-
我确实检查了一个按钮,但我发现 rb=null。这意味着代码中有问题。也许是 FirstOrDefault???
标签: c# winforms linq radio-button