gpt4 book ai didi

vb.net - 列表中的重复项目

转载 作者:行者123 更新时间:2023-12-02 04:38:17 24 4
gpt4 key购买 nike

我在 VB.NET 中有一段代码,我需要在发票列表中查找重复的项目,具有相同的编号(金额可能不同),这是我要做的,但不起作用,我不这样做知道我是否应该使用 LINQ 也许...数据库位于 txt 文件中。

Public Class Invoice
Public Property amount As Decimal
Public Property number As String
Public Property date As Date

'extracting information from txt file

Dim pesquisanotas As List(Of Invoice) = New NotaRepositorio().research()

'部分不起作用,它带来的发票号码的数字超过 1,而不是重复的发票号码:

Dim DuplicateInvoice= From c In pesquisanotas
Where (c.number.Count > 1)
Select c

For Each item In DuplicateInvoice
MessageBox.Show(item.number)
Next

最佳答案

如果重复项已在列表中,则可以通过以下方式检测它们:

Class DemoClass
Public Property amount As Decimal
Public Property number As String
Public Property [date] As Date
End Class

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
Dim lstSource As New List(Of DemoClass)
lstSource.Add(New DemoClass With {.amount = 121, .number = "121", .date = #1/1/2012#})
lstSource.Add(New DemoClass With {.amount = 122, .number = "122", .date = #1/2/2012#})
lstSource.Add(New DemoClass With {.amount = 123, .number = "123", .date = #1/3/2012#})
lstSource.Add(New DemoClass With {.amount = 124, .number = "124", .date = #1/4/2012#})
lstSource.Add(New DemoClass With {.amount = 125, .number = "125", .date = #1/5/2012#})
lstSource.Add(New DemoClass With {.amount = 126, .number = "126", .date = #1/6/2012#})
lstSource.Add(New DemoClass With {.amount = 127, .number = "127", .date = #1/7/2012#})
lstSource.Add(New DemoClass With {.amount = 128, .number = "123", .date = #1/8/2012#}) 'dup'
lstSource.Add(New DemoClass With {.amount = 129, .number = "129", .date = #1/9/2012#})
lstSource.Add(New DemoClass With {.amount = 130, .number = "130", .date = #1/10/2012#})
lstSource.Add(New DemoClass With {.amount = 131, .number = "122", .date = #1/11/2012#}) 'dup'
lstSource.Add(New DemoClass With {.amount = 132, .number = "132", .date = #1/12/2012#})

For intOuter As Integer = 0 To lstSource.Count - 2
For intInner As Integer = intOuter + 1 To lstSource.Count - 1
If lstSource(intOuter).number = lstSource(intInner).number Then
'duplicate found
MsgBox("Duplicate found: " & lstSource(intOuter).number)
End If
Next intInner
Next intOuter
End Sub

关于vb.net - 列表中的重复项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13812398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com