如何使用Ical.Net提取数据?

How to extract data using Ical.Net?

我有一个 ics 文件,我想从中读取数据。我使用 Nuget 下载了 Ical.Net,我正在尝试弄清楚如何使用它。我想要做的就是获得与将我的 ics 文件上传到此网站时获得的信息相同的信息:https://icsconvert.appspot.com/

也就是每个 "event":

但我不明白如何从文件中获取该信息。这是我目前拥有的:

string filepath = @"C:\My\file\path\myIcs.ics";
System.IO.StreamReader file = new System.IO.StreamReader(filepath);
string content = file.ReadToEnd();
file.Close();

Ical.Net.Calendar calendar = Ical.Net.Calendar.Load(content);

foreach (var c in calendar.RecurringItems)
{
    // 1. Do something!
    // 2. ????
    // 3. Profit!
}

这是我从 here:

获得的示例文件
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VEVENT
SUMMARY:Access-A-Ride Pickup
DTSTART;TZID=America/New_York:20130802T103400
DTEND;TZID=America/New_York:20130802T110400
LOCATION:1000 Broadway Ave.\, Brooklyn
DESCRIPTION: Access-A-Ride trip to 900 Jay St.\, Brooklyn
STATUS:CONFIRMED
SEQUENCE:3
BEGIN:VALARM
TRIGGER:-PT10M
DESCRIPTION:Pickup Reminder
ACTION:DISPLAY
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Access-A-Ride Pickup
DTSTART;TZID=America/New_York:20130802T200000
DTEND;TZID=America/New_York:20130802T203000
LOCATION:900 Jay St.\, Brooklyn
DESCRIPTION: Access-A-Ride trip to 1000 Broadway Ave.\, Brooklyn
STATUS:CONFIRMED
SEQUENCE:3
BEGIN:VALARM
TRIGGER:-PT10M
DESCRIPTION:Pickup Reminder
ACTION:DISPLAY
END:VALARM
END:VEVENT
END:VCALENDAR

如何获取我想要的数据?我想使用 foreach 将该数据保存到自定义列表中。

据我所知,您只有一组两个独立的事件,而不是重复发生的事件(如使用 RRULE 定义的那样)。

我想你可能会在 calendar.Events 中找到你需要的东西(我从来没有使用过这个库,只是快速浏览了一下源代码,它看起来像日历 class有一个 "Events" 属性).