使用 VB.Net 从 .csv 中获取第一天和最后一天

Get first and last day from .csv with VB.Net

我有两个属性

Property FirstDayOfCsv As String
Property LastDayOfCsv As String

我希望属性从已解析的 csv 文件中获取最小值和最大值。值是日期列中“dd”格式的天数。现在我的代码如下所示:

Dim csv As String() = IO.File.ReadAllLines("my.csv").Skip(1).ToArray
For Each line In csv
            Dim col = line.Split(";"c)
            Dim days As Date = col(2)
            FirstDayOfCsv = days.ToString("dd").Min
            LastDayOfCsv = days.ToString("dd").Max
Next

不幸的是,Min 和 Max 没有 return 值,这是我需要的,我坚持在这里。如何获得它们?

您可以选择将值添加到集合中,但首先将字符串值转换为整数值。然后,一旦您完成对行的迭代,您将调用 Min/Max.

Dim csv = IO.File.ReadAllLines("my.csv").Skip(1).ToArray()
Dim everyday = New List(Of Integer)()
For Each line In csv
    Dim col = line.Split(";"c)
    Dim days = col(2)
    Dim daysAsInt As Integer
    If (Integer.TryParse(days, daysAsInt)) Then
        everyday.Add(daysAsInt)
    End If
Next

FirstDayOfCsv = everyday.Min()
LastDayOfCsv = everyday.Max()