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

Windows下C#调用TaskService查找含XYZ的任务未匹配问题咨询

问题分析与解决

哦,我一眼就发现问题所在了!你在过滤条件里用了*XYZ*的通配符,但string.Contains()方法本身就是用来检查目标字符串是否包含指定子串的,它不需要额外的通配符——这里的星号会被当成普通字符来匹配,相当于你在找名称里包含*XYZ*(带星号)的任务,而不是包含XYZ的任务,这自然就找不到符合条件的项啦。

修正后的代码

把过滤条件里的星号去掉就可以正常工作了:

using (TaskService ts = new TaskService()) 
{ 
    foreach(Task f in ts.FindAllTasks(x => x.Name.ToUpper().Contains("XYZ"), true )) 
    { 
        f.Run(); 
    } 
}

额外说明(如果需要支持通配符)

如果你之后需要更灵活的通配符匹配(比如XYZ*或者*XYZ),可以改用正则表达式来实现,比如:

using (TaskService ts = new TaskService()) 
{ 
    foreach(Task f in ts.FindAllTasks(x => Regex.IsMatch(x.Name.ToUpper(), @"XYZ.*"), true )) 
    { 
        f.Run(); 
    } 
}

这里的@"XYZ.*"表示匹配以XYZ开头的任务名称,你可以根据需求调整正则表达式的规则。

内容的提问来源于stack exchange,提问作者Jeb50

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:32:20