0

如何检查 listView 是否包含 DateTime 或 String?

我试过了

if (!listView1.Items.Contains(SetAlarm.Value))

但它无法转换System.DateTimeSystem.Windows.Forms.ListViewItem.

4

2 回答 2

0

listView1.Items.Contains(new ListItem(DateTime.Now))不管用。Contains仅当我们实际上在ListView.Items集合中传递一个 Item 时才有效。我认为您将不得不使用 for 循环:(

foreach (ListViewItem s in listView1.Items)
{
    if (s.Text != SetAlarm.Value.ToString()) continue;
    MsgBox.Show("Found: " + SetAlarm.Value.ToString());
    return;
}
于 2009-12-07T05:25:23.697 回答
0
    bool isMatch = false;

    int matchIndex = -1;

    DateTime resultDate = = new DateTime();

    foreach(ListViewItem lvItem in listView1.Items)
    {
        if(DateTime.TryParse(lvItem.Text, out resultDate ))
        {
           isMatch = true;
           matchIndex = lvItem.Index;
           break;
        }
    }

    if(isMatch) Console.WriteLine("match at index : " + matchIndex.ToString() + " = " + resultDate.ToString());
于 2009-12-07T06:21:25.290 回答