积极答复者
channel 9 第九课中的 (r => r.IsChecked == true) 中的r 是什么意思

问题
-
代码如下:
private void performCalculation()
{
var selectedRadio = myStackPanel.Children.OfType<RadioButton>().FirstOrDefault(r => r.IsChecked == true);
tip.CalculateTip(billAmountTextBox.Text, double.Parse(selectedRadio.Tag.ToString()));
amountToTipTextBlock.Text = tip.TipAmount;
totalTextBlock.Text = tip.TotalAmount;
}注: channle 中附的代码我都看了,但是就是没有发现哪里有 r 的定义 MSDN里面也找不到,,无法理解啊。
答案
全部回复
-
你把他想成 foreach 就差不多了. 就是指 myStackPanel 中的每一個RadioButton.
所以假設他有三個 RadioButton
就先把第一個 RadioButton 代入 r, 檢查它的 IsChecked 是否為 true;
再來把第二個 RadioButton 代入 r, 檢查它的 IsChecked 是否為 true;
再來把第三個 RadioButton 代入 r, 檢查它的 IsChecked 是否為 true;
在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
-
您好,
请参考「FirstOrDefault<TSource> 方法」。
如果 source 为空或没有元素通过 predicate 指定的测试,则返回 default(TSource),否则返回 source 中通过 predicate 指定的测试的第一个元素。