看起來很相似,但我的問題是完全不同的。我有一個由不同界面實現的對象組成的列表。 我想刪除一個特定類型的對象,但通過另一個標準之後。示例代碼如下。C#LINQ在單次執行中從列表中刪除多個對象
// remove the not required parameters
foreach (EndPoint endPoint in endPoints)
{
var maps = endPoint.EndPointParameters
.Where(x => x is IEndPointParamMapCustom)
.Cast<IEndPointParamMapCustom>()
.Where(x => !x.IsActive)
.ToList();
foreach (var custom in maps)
{
endPoint.EndPointParameters.Remove(custom);
}
}
我想刪除下面的foreach循環並刪除上面的單個LINQ查詢中的對象。可能嗎? 謝謝。
在一般LINQ不應該用來修改對象,但要查詢他們 –
我想這是可能的,但問題是:爲什麼? Y我們的代碼非常直截了當,易於理解,因此可以維護。介紹任何進一步的LINQ只會搞亂你的代碼。 – HimBromBeere
鑑於LINQ中的'Q'代表***查詢***,您將永遠不會執行此「單個查詢」突變而不會濫用LINQ的意圖。 – spender