Czy jest możliwe dodanie if
-zawierające połączenie LINQ ForEach
?Czy LINQ ForEach have if statement?
sequence.Where(x => x.Name.ToString().Equals("Apple"))
.ToList()
.ForEach(/* If statement here */);
Czy jest możliwe dodanie if
-zawierające połączenie LINQ ForEach
?Czy LINQ ForEach have if statement?
sequence.Where(x => x.Name.ToString().Equals("Apple"))
.ToList()
.ForEach(/* If statement here */);
Tak, potrzeba wyrażenia lambda, dzięki czemu można umieścić dowolny prawidłowy C# wyrażenie tam
Nie powiedziałbym _any _... Istnieją pewne konstrukcje, których API wyrażeń nie może reprezentować. –
Och, przepraszam, mój komentarz nie ma tutaj zastosowania. Tworzymy tutaj delegata, a nie wyrażenie. IIRC, te same ograniczenia nie dotyczą delegatów, można użyć dowolnego konstruktu. –
można wykonać następujące czynności ...
List.Where(x => x.Name.ToString().Equals("Apple").ToList()
.ForEach(x => { if(x.Name == ""){}});
Tak, jeśli to-oświadczenie często używane wewnątrz ForEach, jak poniżej:
sequence.Where(x => x.Name.ToString().Equals("Apple"))
.ToList()
.ForEach(x =>
{
if(someCondition)
{
// Do some stuff here.
}
});
Pytanie nie jest jasne – zerkms
Nie ma metody LINQ 'ForEach'. To jest metoda 'List'. –
Co chciałbyś umieścić w 'if', którego nie można użyć jako predykatu w' Where'? –