Ускорение удаления одинаковых строк DataGridView - Visual Basic .NET
Формулировка задачи:
Написал программу по сканированию папки и извлечению их txt файлов ней текста и импорта его в DataGridView
Дальше по нажатию кнопки идет подсчет и удаление повторяющихся строк
Время его выполнения около 20 минут, возможно ли каким-нибудь образом ускорить сие дело?
Или нужно по другому выполнить эти задачи?
суть программы - сканирование плей-листов за 3 месяца за каждый день и составление отчета по количеству выходов песен за этот срок, импорт из базы недостающих данных и экспорт в ексель
Решение задачи: «Ускорение удаления одинаковых строк DataGridView»
textual
Листинг программы
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click Dim example() As String = {"110311.txt", "010411.txt", "110511.txt", "110311.txt", _ "200311.txt", "050211.txt", "111111.txt", "220311.txt", _ "010611.txt", "181011.txt", "210311.txt", "010511.txt", _ "170311.txt", "260111.txt", "190811.txt"} Dim yy As Integer = NumericUpDown2.Value 'год (2000,...,2025) Dim kv As Integer = NumericUpDown1.Value 'квартал (1,2,3,4) Dim dt1 As Date Dim dt2 As Date getDt(yy, kv, dt1, dt2) Dim sel = (From ee As String In example Where betweenDates(ee, dt1, dt2) = True).ToArray 'смотрим результат Dim ss As String = String.Join(vbCrLf, sel) MsgBox(ss) End Sub Private Sub getDt(ByVal y As Integer, ByVal k As Integer, ByRef dt1 As Date, ByRef dt2 As Date) Dim st As Integer = (k - 1) * 3 + 1 dt1 = New Date(y, st, 1) If k = 4 Then dt2 = (New Date(y + 1, 12, 31)) Else dt2 = (New Date(y, st + 3, 1)).AddDays(-1) End If End Sub Private Function betweenDates(ByVal ss As String, ByVal d1 As Date, ByVal d2 As Date) As Boolean Dim s As String = ss.Substring(0, ss.Length - 4) Dim d As Integer Dim bb As Boolean If s.Length = 6 Then d = CInt(s.Substring(0, 2)) Else d = CInt(s.Substring(0, 1)) End If Dim dd As Date = New Date(2000 + CInt(s.Substring(s.Length - 2)), CInt(s.Substring(s.Length - 4, 2)), d) If dd >= d1 AndAlso dd <= d2 Then bb = True Return bb End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д