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

C#中如何检查列表是否包含指定Tuple(元组)?

解决C#中列表检查Tuple是否存在的问题

你写的两段代码都存在语法错误,导致判断逻辑失效:

  • 第一段代码里,创建Tuple实例时缺少new关键字,C#中实例化Tuple必须用new调用构造函数
  • 第二段代码的语法完全不符合C#规范,参数传递方式错误

正确的写法

修正语法,给Tuple实例添加new关键字即可:

if (!combinations.Contains(new Tuple<char, char>(s[i], chr)))
{
    combinations.Add(new Tuple<char, char>(s[i], chr));
}

优化建议

可以先创建一次Tuple实例,避免重复构造相同对象,提升效率:

var targetTuple = new Tuple<char, char>(s[i], chr);
if (!combinations.Contains(targetTuple))
{
    combinations.Add(targetTuple);
}

补充说明

C#中的Tuple<T1,T2>默认基于值进行相等性判断,只要两个元组的Item1和Item2分别相等,Contains方法就会识别为重复元素,所以修正语法后这个判断逻辑就能正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 01:35:18