You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何直接向字典内存储的现有List添加元素无需更新字典

问题解答

你原先的步骤2是完全冗余的操作,可以直接省略,仅需要一行代码就能完成向字典内现有List添加新值的需求:
memberInfo[num].Add(name);

原理说明

  • C#中List<T>属于引用类型,字典memberInfo里存储的是List实例的引用,而非List对象本身的副本
  • 你通过memberInfo[num]获取到的对象,和字典内部存储的指向的是同一个List实例,直接对这个实例调用Add方法修改内容,字典内存储的List就已经同步更新了,不需要再重新赋值回字典

优化后完整Main方法代码

public static void Main(string[] args)        
{
    //Write your code here. Above part is hardcoded can't be changed
    Console.WriteLine("Group Name :");
    string gName = Console.ReadLine();
    int num = 0;

    foreach (KeyValuePair<int, string> VARIABLE in groupInfo)
    {
        if (VARIABLE.Value == gName)
        {
            num = VARIABLE.Key;
        }
    }

    Console.WriteLine("Member Name:");
    string name = Console.ReadLine();

    // 简化后的添加操作,无需额外赋值回字典
    memberInfo[num].Add(name);

    // 打印步骤也可简化,无需单独声明临时变量存储List
    foreach (var item in memberInfo[num])
    {
        Console.WriteLine(item);
    }
}

内容的提问来源于stack exchange,提问作者Subhadeep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:39:02