You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在.NET中如何一次性批量设置列表中所有匹配搜索词的元素属性值

实现方案

你可以直接遍历列表匹配目标单词,修改对应属性即可,两种常用实现方式如下:

方式1:使用List自带的ForEach方法(写法更简洁)

string wordSearch = "test";

// 可以保留你原有的Exists判断,也可以省略直接执行修改逻辑
if (wordsIn.Exists(x => x.wordTxt == wordSearch)) 
{
    wordsIn.ForEach(item => 
    {
        if (item.wordTxt == wordSearch)
        {
            item.wordIsFound = 1;
        }
    });
}

如果你不需要在无匹配项时执行其他逻辑,完全可以去掉外层的Exists判断,直接执行ForEach的修改逻辑即可,即使没有匹配项也不会产生副作用。

方式2:使用常规foreach循环(可读性更高)

string wordSearch = "test";
foreach (var item in wordsIn)
{
    if (item.wordTxt == wordSearch)
    {
        item.wordIsFound = 1;
    }
}

说明

因为cls_words是类属于引用类型,遍历过程中修改实例属性会直接作用于列表中存储的原实例,不需要额外操作回写列表。执行上述代码后你示例列表中wordTxt为test的两个条目,wordIsFound属性都会被设置为1,符合你的需求。

内容的提问来源于stack exchange,提问作者E.D.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 06:36:04