来自多个 Foreach 的 Linq

Loh ZhiCheng

我如何将以下倍数转换foreach为 LINQ?

    foreach (var resourceOne in resourceList)
    {
        string s = (string)resourceOne;
        foreach (Control c in gridBtn.Children)
        {
            if (c.GetType() == typeof(ToggleButton))
            {
                int TagPlusOne = Convert.ToInt32(c.Tag) + 1;
                string PaddedResult = TagPlusOne.ToString().PadLeft(3, '0');
                if (PaddedResult == s)
                {
                    ((ToggleButton)c).BorderBrush = Brushes.Red;
                    ((ToggleButton)c).BorderThickness = new Thickness(3, 3, 3, 3);
                }
            }
        }
    } 
赛博·阿米尼

最后,您需要一个foreach或类似的来设置按钮上的属性,因为 LINQ 用于查询您的数据(通常没有副作用),而不是改变它们。但是,您可以使用 LINQ 来简化查找要编辑的按钮的过程。例如,您的代码可以归结为:

var targetButtons = gridBtn
    .Children
    .OfType<ToggleButton>()
    .Where(tb => resourceList.OfType<string>().Contains($"{Convert.ToInt32(tb.Tag) + 1}:D3"));

foreach(var btn in targetButtons)
{
    btn.BorderBrush = Brushes.Red;
    btn.BorderThickness = new Thickness(3, 3, 3, 3);
}

可以进一步调整/优化/重构。注意我已经PadLeft(3, '0')D3标准数字格式字符串替换它,它做同样的事情。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

组合来自多个 foreach 循环的 json 输出

来自分类Dev

BreezeJS-来自多个linq查询到单个对象的结果

来自分类Dev

如何使用linq2sql在单个gridview或gridpanel中显示来自多个表的数据?

来自分类Dev

BreezeJS-来自多个linq查询到单个对象的结果

来自分类Dev

Linq-to-Entities查询结果使用了来自多个表/ Db的参数

来自分类Dev

如何合并来自多个linq查询的结果,然后进行排序?

来自分类Dev

如何使用 linq 简化多个 foreach

来自分类Dev

使用 PHP XPatch 在同一个 foreach 循环中回显来自多个域的文本

来自分类Dev

实体框架 - 来自多表的 Linq GroupBy 数据

来自分类Dev

如何使用LINQ或Lambda代替嵌套和多个foreach语句

来自分类Dev

来自多个线程的cudaEventSynchronize

来自分类Dev

来自多个列表的Countif

来自分类Dev

来自多个列表的UNION

来自分类Dev

来自多个管道的输入

来自分类Dev

来自多个模式的 DWH

来自分类Dev

来自多个表的求和?

来自分类Dev

来自多个表的图表

来自分类Dev

Linq Lambda foreach

来自分类Dev

Linq全部与Foreach

来自分类Dev

在foreach中选择LINQ

来自分类Dev

结合linq foreach

来自分类Dev

使用Foreach的Linq查询

来自分类Dev

嵌套 foreach 到 Linq

来自分类Dev

来自多个表 MySQL 的多个 Where OR

来自分类Dev

来自多个 WITH/CTE 的多个插入

来自分类Dev

Linq查询和Foreach处理来自SQL数据库的大量记录

来自分类Dev

Linq ForEach的简单传统foreach

来自分类Dev

C#中的LINQ:LINQ中的Foreach

来自分类Dev

C#中的LINQ:LINQ中的Foreach