【发布时间】:2016-07-09 17:14:36
【问题描述】:
所以,我有这个代码
Process[] processesManager = Process.GetProcesses();
List<ProcessInfo> temporaryProcessesList = new List<ProcessInfo>();
for (int i = 0; i < processesManager.Length; ++i)
{
temporaryProcessesList.Add(new ProcessInfo(processesManager[i].ProcessName, processesManager[i].Id, TimeSpan.Zero, "Group"));
}
processesList = temporaryProcessesList.GroupBy(d => new {d.Name}).Select(d => d.First()).ToList();
此代码用于获取当前进程。然后我将这些进程添加到temporaryProcessesList。而不是简单的字符串“组”,我想根据进程的名称设置属性。例如,如果进程名称为 Leagueoflegends.exe,那么我想将组设置为“游戏”,如果它的 devenv.exe 我想将组设置为“软件开发”。
我的问题是,如何以最简单/最好的方式做到这一点?我正在考虑将 Dictionary 与字符串和枚举一起使用。并将ProcessName 与字符串进行比较。但也许有更好的方法来做到这一点。
ProcessInfo 是具有 4 个属性和构造函数的简单类。
public class ProcessInfo
{
private string Name { get; set; }
private int Id { get; set; }
private TimeSpan Time { get; set; }
private string Group { get; set; }
public ProcessInfo(string name, int id, TimeSpan time, string group)
{
Name = name;
Id = id;
Time = time;
Group = group;
}
}
【问题讨论】:
标签: c# .net c#-4.0 c#-3.0 c#-2.0