Problem z Tuple i właściwością tylko do odczytu

0

Witam.
W programie mam następująca strukturę:

List<Tuple<Dictionary<int, int>, int>> resultList = new List<Tuple<Dictionary<int, int>, int>>();

W dalszej części muszę przypisać odpowiednią wartość dla elementu drugiego klasy Tuple czyli:

resultList[i].Item2 = value // jakaś wartość

Niestety właściwość Item2 jest tylko do odczytu. Jak mogę sobie z tym poradzić?

0

Wartość Tuple możesz ustawić jedynie podczas tworzenia nowego obiektu.

var resultList = new List<Tuple<Dictionary<int, int>, int>>();

// new
resultList.Add(new Tuple<Dictionary<int, int>, int>(new Dictionary<int, int>(), 7));
// czytelniejsze Tuple.Create()
resultList.Add( Tuple.Create(new Dictionary<int, int>(), 7));
0

Dzięki za odpowiedź. Niestety to nie rozwiązuje mojego problemu bo muszę zmienić wartość elementu już istniejącego. Może jest jakiś zamiennik dla Tuple?

0

Zmieniaj całość:

resultList[0] = new Tuple<Dictionary<int, int>, int>(resultList[0].Item1, 7); 
1

Po prostu stwórz własną klasę.

            var resultList2 = new List<MojeTuple>();

            resultList2.Add(new MojeTuple{Item1 = new Dictionary<int, int>() });
            resultList2[0].Item2 = 7;
class MojeTuple
        {
            public Dictionary<int, int> Item1 { get; set; }
            public int Item2 { get; set; }
        };

1 użytkowników online, w tym zalogowanych: 0, gości: 1