List <Tuple>没有setter错误

Jac*_*ack 0 c# tuples list

我列出了包含int和string的元组,每次我在这个列表中添加新位置时,我在已经添加的元素中检查相同的字符串.一旦我看到相同的 - 目标是改变int(做+1).例如,如果我们有(3,box; 1,apple; 2,PC)并且我们需要添加"apple",那么我必须将现有的"1,apple"更改为"2,apple".但我不能这样做因为Item1返回错误"该属性没有setter".我的错误在哪里?谢谢.

        string[] elements = s.Split(); // Contains all elements as strings.

        List<Tuple<int, string>> elementsList = new List<Tuple<int, string>>();

        var sortItems = elementsList.OrderBy(x => x.Item1);

        for (int i = 0; i < elements.Length; i++)
        {
            foreach (var item in sortItems)
            {
                if (Equals(item.Item1, elements[i]))
                {
                    item.Item1 += 1;
                }
            }
            elementsList.Add(new Tuple<int, string>(1, elements[i]));
        }         
        return elementsList;
Run Code Online (Sandbox Code Playgroud)

Cod*_*dor 9

根据文档Tuple<T1,T2>,属性不能被写入,这基本上意味着,元组是不可变的.不可能就地修改其内容; 有必要创建一个新的元组.