Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Operator All zwraca true, jeśli wszystkie elementy w sekwencji spełniają warunek.
Operator Any zwraca true, jeśli którykolwiek element w sekwencji spełnia warunek.
Przykład 1
Poniższy przykład zwraca sekwencję klientów, którzy mają co najmniej jedno zamówienie. Klauzula Where/where przyjmuje wartość true, w przypadku gdy dana Customer ma jakiekolwiek Order.
var OrdersQuery =
from cust in db.Customers
where cust.Orders.Any()
select cust;
Dim OrdersQuery = _
From cust In db.Customers _
Where cust.Orders.Any() _
Select cust
Przykład 2
Poniższy kod języka Visual Basic określa listę klientów, którzy nie składali zamówień, i gwarantuje, że dla każdego klienta z tej listy zostanie podana nazwa kontaktu.
Public Sub ContactsAvailable()
Dim db As New Northwnd("c:\northwnd.mdf")
Dim result = _
(From cust In db.Customers _
Where Not cust.Orders.Any() _
Select cust).All(AddressOf ContactAvailable)
If result Then
Console.WriteLine _
("All of the customers who have made no orders have a contact name")
Else
Console.WriteLine _
("Some customers who have made no orders have no contact name")
End If
End Sub
Function ContactAvailable(ByVal contact As Object) As Boolean
Dim cust As Customer = CType(contact, Customer)
Return (cust.ContactTitle Is Nothing OrElse _
cust.ContactTitle.Trim().Length = 0)
End Function
Przykład 3
Poniższy przykład C# zwraca sekwencję klientów, których zamówienia mają numer ShipCity rozpoczynający się od "C". W zwrocie uwzględnieni są również klienci, którzy nie mają zamówień. (Zgodnie z projektem operator All zwraca true dla pustej sekwencji). Klienci bez zamówień są eliminowani w danych wyjściowych konsoli przy użyciu operatora Count.
var custEmpQuery =
from cust in db.Customers
where cust.Orders.All(o => o.ShipCity.StartsWith("C"))
orderby cust.CustomerID
select cust;
foreach (Customer custObj in custEmpQuery)
{
if (custObj.Orders.Count > 0)
Console.WriteLine($"CustomerID: {custObj.CustomerID}");
foreach (Order ordObj in custObj.Orders)
{
Console.WriteLine($"\t OrderID: {ordObj.OrderID}; ShipCity: {ordObj.ShipCity}");
}
}