为什么我无法在对象中修改这些值?

时间:2014-09-28 17:24:55

标签: c#

我有一个问题,如果我想将一个值编辑成一个对象并再次调用它,我会得到旧值而不是新值。

这是获取课程的函数:

 public static Clan GetClanByID(int Index)
    {
        foreach (Clan Clan in Clans)
        {
            if (Clan.ID == Index)
            {
                return Clan;
            }
        }

        return new Clan()
        {
            ID = -1,
            Name = "NULL",
            IconID = -1
        };
    }

这是我更新值的功能:

public static void ChangeAnnouncement(int ClanID, int Mode, string Text)
    {
        if (ClanID != -1)
        {
            Clan Clan = GetClanByID(ClanID);

            if (Mode == 0)
            {
                Clan.Description = Text;
            }
            else if (Mode == 1)
            {
                Clan.News = Text;
            }
        }
    }

这是班级:

public class Clan
{
    public int ID;
    public int LeaderID;
    public int Extension;
    public int CreationDate;
    public long EXP;
    public long IconID;
    public string Name;
    public string News;
    public string Description;
    public List<ClanWars> ClanWars;
    public List<ClanUsers> Users;
    public List<ClanCoMasters> CoMasters;
    public List<ClanPendingUsers> PendingUsers;
    public LeaderInformations LeaderInformations;
}

示例:旧值为&#34; 123&#34;,比我调用函数ChangeAnnouncement,并将值设置为&#34; 1234567890&#34;,之后我使用GetClanByID(ID)获取值.Description,但我仍然会得到旧值(&#34; 123&#34;)

我希望你能帮助我。

1 个答案:

答案 0 :(得分:1)

你每次都会回来一个新的家族。您忘了将新创建的部落添加到Clans