C# 是否有一种方法可以用于使用基于特定属性的对象列表一次性填充列表框?

C# 是否有一种方法可以用于使用基于特定属性的对象列表一次性填充列表框?,c#,winforms,C#,Winforms,更清楚地说,假设我们有一个包含流程的列表,我们只想用这些流程的名称填充列表框 List<Process> latesProcessList ; 上述语句的问题在于,latestProcessList包含对象,这些对象有很多属性,在列表框中只需要显示其中的一小部分属性。 所以我要问的是,有没有一种方法可以让我只用进程名来填充我的列表框? 我希望过程快速,这就是我首先尝试使用AddRange()的原因。 那么有没有办法实现这样的目标呢?如果不是,最快的方法是什么?您可以尝试使用Linq

更清楚地说,假设我们有一个包含流程的列表,我们只想用这些流程的名称填充列表框

List<Process> latesProcessList ;
上述语句的问题在于,latestProcessList包含对象,这些对象有很多属性,在列表框中只需要显示其中的一小部分属性。 所以我要问的是,有没有一种方法可以让我只用进程名来填充我的列表框? 我希望过程快速,这就是我首先尝试使用AddRange()的原因。

那么有没有办法实现这样的目标呢?如果不是,最快的方法是什么?

您可以尝试使用Linq

listBox1.Items.AddRange(latesProcessList.Select(p => p.ProcessName));

您可以尝试使用Linq

listBox1.Items.AddRange(latesProcessList.Select(p => p.ProcessName));

您可以尝试使用Linq

listBox1.Items.AddRange(latesProcessList.Select(p => p.ProcessName));

您可以尝试使用Linq

listBox1.Items.AddRange(latesProcessList.Select(p => p.ProcessName));


这是一个计时器滴答声事件,每1毫秒触发一次!每次在运行时将linq方法转换为普通函数不会使它变慢吗?@Hossein此列表多久更改一次?这取决于正在运行的进程数。毕竟我一直在轮询,看看是否有新的进程,然后将其与白名单进行比较,让它运行或终止it@Hossein你可以试着对它进行基准测试,但如果列表不太大,我看不出压力太大。这是在每1毫秒触发一次的计时器滴答事件中!每次在运行时将linq方法转换为普通函数不会使它变慢吗?@Hossein此列表多久更改一次?这取决于正在运行的进程数。毕竟我一直在轮询,看看是否有新的进程,然后将其与白名单进行比较,让它运行或终止it@Hossein你可以试着对它进行基准测试,但如果列表不太大,我看不出压力太大。这是在每1毫秒触发一次的计时器滴答事件中!每次在运行时将linq方法转换为普通函数不会使它变慢吗?@Hossein此列表多久更改一次?这取决于正在运行的进程数。毕竟我一直在轮询,看看是否有新的进程,然后将其与白名单进行比较,让它运行或终止it@Hossein你可以试着对它进行基准测试,但如果列表不太大,我看不出压力太大。这是在每1毫秒触发一次的计时器滴答事件中!每次在运行时将linq方法转换为普通函数不会使它变慢吗?@Hossein此列表多久更改一次?这取决于正在运行的进程数。毕竟我一直在轮询,看看是否有新的进程,然后将其与白名单进行比较,让它运行或终止it@Hossein你可以试着对它进行基准测试,但如果列表不太大,我不觉得压力太大。你能澄清一下你下面提到的计时器吗?您是否尝试每1ms完全刷新一次列表框?您能否澄清一下下面提到的计时器?您是否尝试每1ms完全刷新一次列表框?您能否澄清一下下面提到的计时器?您是否尝试每1ms完全刷新一次列表框?您能否澄清一下下面提到的计时器?是否尝试每1毫秒完全刷新一次列表框?