我需要在linq或其他更好的方法下面的代碼更好的解決方案,代碼獲取所有項目匹配condition.If條件是process.Name =「process-5」它應該返回條件匹配的所有項目,包括匹配的項目,在這種情況下,列表中會有5個項目。獲取列表項在C#中匹配
using System;
using System.Collections.Generic;
namespace ListSelectSample
{
class Process
{
public long Id { get; set; }
public string Name { get; set; }
}
class Program
{
static void Main(string[] args)
{
var processlist = new List<Process>();
for(var count = 1; count <= 10; count++)
processlist.Add(new Process() { Id = count, Name = "Process-" + count});
var selectedprocesslist = new List<Process>();
foreach (var process in processlist)
{
selectedprocesslist.Add(process);
if (process.Name.ToLower().Equals("process-4"))
break;
}
Console.ReadKey();
}
}
}
謝謝,這忽略匹配的項目,應返回項目,其中過程-4也。 – Mc27
@ Mc27請參閱編輯。 – Abion47
@ Mc27這是很好的解決方案,但請記住這將迭代列表兩次。 (你自己的代碼更高效)....但是由於你正在處理'process'列表,而且它們通常很少,所以這不應該成爲問題。 –