Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Изменение значения параметра для элемента списка, C#.

Alexandr Мудрец (11958), закрыт 2 года назад
using System;
using System.Collections.Generic;

class Program
{
struct St
{
public int I;
public void SetI(int I)
{
this.I = I;
}
}

static void Main()
{
var Lst = new List<St>();
var _St = new St();
_St.I = 5;
Lst.Add(_St);
Lst[0].SetI(7);
Console.WriteLine(Lst[0].I);
}
}
/*Выводит 5, вместо 7.
Почему не меняется значение параметра элемента списка?
Как его изменить? */
Лучший ответ
Дед Мазай Гений (58109) 2 года назад
Ты сам установил значение 7 в этой строке:
Lst[0].SetI(7);
Было 5, стало 7.
AlexandrМудрец (11958) 2 года назад
Программа выводит 5
Дед Мазай Гений (58109) Alexandr, я понял. Проблема в том, что St - это struct, а не class. Если заменить на class, то заработает.
Остальные ответы
Похожие вопросы