2018年9月22日土曜日

【C#】IEnumrable+LINQ+Castとforeach【LINQ】

●LINQ
LogicalTreeHelper
    .GetChildren(target)
    .Cast<object>()
    .Where(child => child is DependencyObject)
    .ToList()
    .ForEach(e => RunAllChild((DependencyObject)e, action));

●foreach
foreach (var child in LogicalTreeHelper.GetChildren(target))
    if (child is DependencyObject)
        RunAllChild((DependencyObject)child, action);

う~ん、Cast可能か確認してからCastする場合は、
LINQより、素直にforeachを選択すべきか。

もっといい書き方ありそうだが・・・

0 件のコメント:

コメントを投稿