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

C#从字典值提取子列表:获取Room类的roomName属性列表

解决Dictionary提取属性生成List的问题

嘿,别担心,这个转换其实超容易上手!你之前用List的时候可以直接访问元素属性,但Dictionary里的每一项都是**KeyValuePair<Guid, Room>**类型——简单说就是每个项都包含一个Key(你的Guid)和一个Value(对应的Room对象)。

所以你只需要在Select里通过kv.Value拿到对应的Room实例,再访问它的roomData.roomName属性就可以了,正确的代码应该是这样:

List<string> roomNames = RoomManager.roomDict.Select(kv => kv.Value.roomData.roomName).ToList();

额外小提示

如果你的字典里有可能存在null的Room对象,或者roomData也可能为null,建议加上过滤逻辑避免空引用异常:

List<string> roomNames = RoomManager.roomDict
    .Where(kv => kv.Value != null && kv.Value.roomData != null)
    .Select(kv => kv.Value.roomData.roomName)
    .ToList();

这样就能安全生成你需要的房间名称列表,用来填充下拉框啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:03:33