Dictionary 取值问题

fxqwoaini 2011-05-17 01:38:42

public class TerminalCommand
{
public virtual string Name { get; set; }
public virtual string Group { get; set; }

private static Dictionary<string, TerminalCommand> _cmds = new Dictionary<string, TerminalCommand>();
static TerminalCommand()
{
List<TerminalCommand> cmds = new List<TerminalCommand>();
cmds.Add(new TerminalCommand() { Name = "超速设置", Group = "超速设置" });
cmds.Add(new TerminalCommand() { Name = "上传时间", Group = "时间设置" });
cmds.Add(new TerminalCommand() { Name = "休眠时间", Group = "时间设置" });

_cmds = cmds.ToDictionary(t => t.Name);
}

public Dictionary<string, TerminalCommand> GetAllCommands()
{
return _cmds;
}
}


问题:怎么取得 比如:有 Group = "时间设置" 的所有 Name 项?
...全文
1559 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
"时间设置"改成一个字符串变量
ltcszk 2011-05-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fxqwoaini 的回复:]

谢谢 上面3位 但是 怎么动态取呢? 而不是 指定 Group == "时间设置"。
[/Quote]
把"时间设置"改成变量a不就行了吗
fxqwoaini 2011-05-17
  • 打赏
  • 举报
回复
谢谢 上面3位 但是 怎么动态取呢? 而不是 指定 Group == "时间设置"。
机器人 2011-05-17
  • 打赏
  • 举报
回复
1. 没想明白,为啥不直接用List<T>

2. _cmds.Where(kv => kv.Value.Group == "时间设置").Select(kv => kv.Name).ToList();
am 2011-05-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ojlovecd 的回复:]

C# code

TerminalCommand tc = new TerminalCommand();
var query = tc.GetAllCommands().Where(kvp => kvp.Value.Group == "时间设置");
foreach (var dic in query)
……
[/Quote]同意
我姓区不姓区 2011-05-17
  • 打赏
  • 举报
回复

TerminalCommand tc = new TerminalCommand();
var query = tc.GetAllCommands().Where(kvp => kvp.Value.Group == "时间设置");
foreach (var dic in query)
Console.WriteLine(dic.Key + "," + dic.Value.Group);

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧