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

如何通过列表名称获取Manatee.Trello.ListCollection的索引?

如何通过列表名称获取Manatee.Trello.ListCollection中的索引

你的代码里直接调用IndexOf("Swim Lane")没效果,核心问题在于Trelloboard.Lists是ListCollection类型,里面的每一项都是Manatee.Trello.List对象,而非字符串。IndexOf默认是匹配对象实例,不是对象的名称属性,所以直接传字符串肯定找不到目标索引。

这里给你两种实用的解决思路:

方法一:用LINQ的FindIndex快速定位

借助LINQ的FindIndex方法,传入匹配名称的条件就能直接拿到索引,代码简洁高效:

using System.Linq; // 记得引入LINQ命名空间

var targetIndex = Trelloboard.Lists.FindIndex(list => list.Name == "Swim Lane");
if (targetIndex != -1)
{
    Console.WriteLine($"找到列表的索引:{targetIndex}");
}
else
{
    Console.WriteLine("未找到名为'Swim Lane'的列表");
}

这个方法会遍历集合,返回第一个名称匹配的列表索引;如果找不到目标列表,会返回-1,记得要做判断避免后续逻辑出错。

方法二:手动遍历集合查找

如果不想依赖LINQ,也可以自己写循环遍历:

int targetIndex = -1;
for (int i = 0; i < Trelloboard.Lists.Count; i++)
{
    if (Trelloboard.Lists[i].Name == "Swim Lane")
    {
        targetIndex = i;
        break; // 找到第一个匹配项就停止遍历
    }
}

if (targetIndex != -1)
{
    Console.WriteLine($"找到列表的索引:{targetIndex}");
}
else
{
    Console.WriteLine("未找到名为'Swim Lane'的列表");
}

额外提示

  • 注意大小写匹配:如果Trello看板里的列表名称大小写不固定,可以改用list.Name.Equals("Swim Lane", StringComparison.OrdinalIgnoreCase)来忽略大小写匹配。
  • 多同名列表场景:如果看板里有多个同名列表,上面的方法只会返回第一个匹配项的索引。要是需要收集所有匹配的索引,去掉break,用一个列表存储符合条件的i即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:49:28