【发布时间】:2010-12-28 11:29:56
【问题描述】:
在我的 WPF 应用程序中,我曾经将控件动态添加到 Canvas。控件的名称格式为“Control_UniqueValue”。
即,如果我将第一个控件添加到画布,则名称将是“Control_1”,下一个将是“Control_2”等...
我的要求是获得添加控件的最大值
我为此使用了以下语句
string maxId = (string)canvas1.Children.Cast<FrameworkElement>().ToList().Max(x => (x.Name.Substring(x.Name.LastIndexOf('_') + 1)));
但这里的问题是
需要将值作为int返回
如果画布不包含任何控件,则会引发错误(尝试使用
Nullable类型,但失败)
【问题讨论】:
标签: c# lambda linq-to-objects