3

現在、住所に一致する顧客を見つけるためにリストを検索しています。住所と都市の両方で一致する必要があります。ラムダ式を両方の基準に一致するように書き直すにはどうすればよいですか?

CustomerList.FindAll(Function(c)c.Address = addressToMatch)

4

2 に答える 2

9

あなたが探しているキーワードはですAndAlso。これは、2つの別々のチェックを1つのチェックに結合し、True両方のコンポーネントがTrue

CustomerList.FindAll(Function(c) c.Address = addressToMatch AndAlso c.City = cityToMatch)
于 2012-05-21T17:20:13.363 に答える
0

複数のプロパティにわたって文字列を検索できるnugetパッケージがあります

https://www.nuget.org/packages/NinjaNye.SearchExtensions/

これにより、次のコードが可能になります...

CustomerList.Search(addressToMatch, 
                    Function(c) c.Address, 
                    Function(c) c.City)

SQLデータベースに接続すると、生成されるSQLは次のようになります。

SELECT [Extent1].[Address] AS [Address], 
       [Extent1].[City] AS [City]
FROM   [dbo].[Table] AS [Extent1]
WHERE ([Extent1].[Address] LIKE N'%searchTerm%') 
   OR ([Extent1].[City] LIKE N'%searchTerm%') 

お役に立てれば

于 2014-01-17T10:04:38.417 に答える