Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este ejemplo se muestra cómo usar una consulta LINQ para contar las apariciones de una palabra especificada en una cadena. Tenga en cuenta que para realizar el recuento, primero se llama al método Split para crear una matriz de palabras. Hay un costo de rendimiento para el Split método . Si la única operación de la cadena es para contar las palabras, debe considerar la posibilidad de usar en su lugar los métodos Matches o IndexOf. Sin embargo, si el rendimiento no es un problema crítico o ya ha dividido la oración para realizar otros tipos de consultas sobre ella, entonces tiene sentido usar LINQ también para contar las palabras o frases.
Ejemplo
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.
Compilación del código
Cree un proyecto de aplicación de consola de Visual Basic con una instrucción Imports
para el espacio de nombres System.Linq.