c# - 将元素添加到初始化之外的元组 C#

标签 c# tuples

我是编程新手,我使用以下命令创建了一个元组列表

var tupleList = new List<Tuple<string, string>> { };

稍后在代码中,我想添加一个元素,例如

tupleList.Add(string1,string2);

但是 .Add 不支持这个吗?

基本上,我正在经历一个循环并添加到元组中,稍后我想在元组中搜索示例字符串,所以我的第二个问题是如何搜索 tupleList.Item1 并获取所有对等于,例如 string10?我看到了字典值的答案,但是我可以对元组做同样的事情吗?

var matches = tupleList.Where(pair => pair.Item1.Equals(string10))
                  .Select(pair => Item2.Key);

我不知道这是否有意义,这是原始代码:

var matches = dict.Where(pair => pair.Value == "abc")
                  .Select(pair => pair.Key);

最佳答案

List<T>没有任何处理元组的特定方法。它适用于任何类型 T 。如果你想向列表添加新项目,你应该创建列表类型 T 的项目并将其传递给列表。添加新元组:

tupleList.Add(Tuple.Create(string1,string2));

仅搜索过滤元组列表。您不应该使用 Select 来投影元组运算符,如果你想得到它们作为结果:

var matches = tupleList.Where(pair => pair.Item1 == string10);

注意:我不喜欢元组,因为它们的名称毫无意义,例如 Item1、Item2 等,这很难理解。考虑创建自定义类,该类将具有带有描述性名称的属性。

关于c# - 将元素添加到初始化之外的元组 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24480280/

相关文章:

c# - 从 ObservableCollection 中删除空项

list - 在Scala中,有没有办法将两个列表转换为Map?

c# - 是否可以使用 MVC/Razor 写出生成的有序数字序列,跨越内容页和母版页?

c# - 字符串的第一个字符到上层 ASP.Net

c# - 向 .NET 5.0 上的 Windows 窗体添加配置

c++ - 类型敏感的元组访问者

python - 无法理解此代码片段的输出

c# - 如何在 C# 中传递指向整数的指针

python - 如何在 python 中将元组转换为整数

带有元组切片的 Python 字符串插值?