【发布时间】:2013-12-08 13:08:39
【问题描述】:
我有这个功能:
public IEnumerable<string> EnumPrograms() {
return dev.AudioSessionManager2.Sessions.AsEnumerable()
.Where(s => s.GetProcessID != 0)
.Select(s => {
try {
return Process.GetProcessById((int)s.GetProcessID).ProcessName;
}
catch (ArgumentException) {
return null;
}
});
}
try..catch 是必要的,因为可能存在 PID 不再存在的会话。我想跳过它们。有没有办法从 Select 回调中做到这一点,还是我需要添加一个新的 Where 条件来跳过 null 值?
【问题讨论】:
标签: c# ienumerable