Nasıl yapılır: Metin Verilerini Herhangi Bir Sözcük veya Alana Göre Sıralama veya Filtreleme (LINQ) (Visual Basic)
Aşağıdaki örnekte, virgülle ayrılmış değerler gibi yapılandırılmış metin satırlarını satırdaki herhangi bir alana göre sıralama gösterilmektedir. Alan çalışma zamanında dinamik olarak belirtilebilir. scores.csv'deki alanların bir öğrencinin kimlik numarasını ve ardından dört test puanı serisini temsil ettiğini varsayalım.
Veri içeren bir dosya oluşturmak için
Scores.csv verilerini Nasıl yapılır: BenzerLeri Dosyalardan İçeriği Birleştirme (LINQ) (Visual Basic) başlığından kopyalayın ve çözüm klasörünüzde kaydedin.
Örnek
Class SortLines
Shared Sub Main()
Dim scores As String() = System.IO.File.ReadAllLines("../../../scores.csv")
' Change this to any value from 0 to 4
Dim sortField As Integer = 1
Console.WriteLine("Sorted highest to lowest by field " & sortField)
' Demonstrates how to return query from a method.
' The query is executed here.
For Each str As String In SortQuery(scores, sortField)
Console.WriteLine(str)
Next
' Keep console window open in debug mode.
Console.WriteLine("Press any key to exit.")
Console.ReadKey()
End Sub
Shared Function SortQuery(
ByVal source As IEnumerable(Of String),
ByVal num As Integer) As IEnumerable(Of String)
Dim scoreQuery = From line In source
Let fields = line.Split(New Char() {","})
Order By fields(num) Descending
Select line
Return scoreQuery
End Function
End Class
' Output:
' Sorted highest to lowest by field 1
' 116, 99, 86, 90, 94
' 120, 99, 82, 81, 79
' 111, 97, 92, 81, 60
' 114, 97, 89, 85, 82
' 121, 96, 85, 91, 60
' 122, 94, 92, 91, 91
' 117, 93, 92, 80, 87
' 118, 92, 90, 83, 78
' 113, 88, 94, 65, 91
' 112, 75, 84, 91, 39
' 119, 68, 79, 88, 92
' 115, 35, 72, 91, 70
Bu örnekte, bir İşlevden sorgu değişkeninin nasıl döndürüleceği de gösterilmektedir.
Kodu derleme
System.Linq ad alanı için bir deyim içeren bir Imports
Visual Basic konsol uygulaması projesi oluşturun.
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin