Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet exemple montre comment utiliser une requête LINQ pour compter les occurrences d’un mot spécifié dans une chaîne. Notez que pour effectuer le nombre, la Split méthode est d’abord appelée pour créer un tableau de mots. Il existe un coût de performances pour la Split méthode. Si la seule opération sur la chaîne consiste à compter les mots, vous devriez envisager d'utiliser les méthodes Matches ou IndexOf à la place. Toutefois, si les performances ne sont pas un problème critique ou si vous avez déjà fractionné la phrase pour effectuer d’autres types de requêtes dessus, il est logique d’utiliser LINQ pour compter les mots ou expressions.
Exemple :
Class CountWords
Shared Sub Main()
Dim text As String = "Historically, the world of data and the world of objects" &
" have not been well integrated. Programmers work in C# or Visual Basic" &
" and also in SQL or XQuery. On the one side are concepts such as classes," &
" objects, fields, inheritance, and .NET Framework APIs. On the other side" &
" are tables, columns, rows, nodes, and separate languages for dealing with" &
" them. Data types often require translation between the two worlds; there are" &
" different standard functions. Because the object world has no notion of query, a" &
" query can only be represented as a string without compile-time type checking or" &
" IntelliSense support in the IDE. Transferring data from SQL tables or XML trees to" &
" objects in memory is often tedious and error-prone."
Dim searchTerm As String = "data"
' Convert the string into an array of words.
Dim dataSource As String() = text.Split(New Char() {" ", ",", ".", ";", ":"},
StringSplitOptions.RemoveEmptyEntries)
' Create and execute the query. It executes immediately
' because a singleton value is produced.
' Use ToLower to match "data" and "Data"
Dim matchQuery = From word In dataSource
Where word.ToLowerInvariant() = searchTerm.ToLowerInvariant()
Select word
' Count the matches.
Dim count As Integer = matchQuery.Count()
Console.WriteLine(count & " occurrence(s) of the search term """ &
searchTerm & """ were found.")
' Keep console window open in debug mode.
Console.WriteLine("Press any key to exit.")
Console.ReadKey()
End Sub
End Class
' Output:
' 3 occurrence(s) of the search term "data" were found.
Compiler le code
Créez un projet d’application console Visual Basic, avec une Imports
instruction pour l’espace de noms System.Linq.