【问题标题】:listView.Items.Contains with DateTime/String?listView.Items.Contains 与 DateTime/String?
【发布时间】:2010-12-23 21:27:32
【问题描述】:

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

我试过了

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

但它无法将System.DateTime 转换为System.Windows.Forms.ListViewItem

【问题讨论】:

    标签: c# datetime listview contains listviewitem


    【解决方案1】:
        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());
    

    【讨论】:

      【解决方案2】:

      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;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-01
        • 1970-01-01
        • 2022-12-02
        • 1970-01-01
        • 1970-01-01
        • 2011-04-20
        • 2019-05-15
        • 1970-01-01
        相关资源
        最近更新 更多