C#检查列表视图窗口窗体中是否存在数据

C#检查列表视图窗口窗体中是否存在数据,c#,winforms,C#,Winforms,我想做的是实际获取一组数据,然后根据标识符对其进行分组,如下所示: 123456 123456 456789 456789 456789 135790 到 到目前为止我所做的: Foreach(string name in itemlist) //itemlist = 123456,123456... as mentioned above { var listitems= lvTest.Items.Cast<ListViewItem>; bool exists = listi

我想做的是实际获取一组数据,然后根据标识符对其进行分组,如下所示:

123456 123456 456789 456789 456789 135790

到目前为止我所做的:

Foreach(string name in itemlist) //itemlist = 123456,123456... as mentioned above
{
  var listitems= lvTest.Items.Cast<ListViewItem>;
  bool exists = listitems.Where(item => item.Text == name).Any(); // to check if item name is already exists in list view
  if (!exists)
  {
        ListViewItem lvItem = new ListViewItem(new string[] { name, "1" });
        lvTest.Items.Add(lvItem);
   }
        else
   {
        ListViewItem lvItem = lvTest.Items.Cast<ListViewItem>.Where(item => item.Text == name).FirstOrDefault();
        int count = (int)lvItem.SubItems[1].Text;
        count = count + 1;
        lvItem.SubItems[1].Text = count.ToString();
   }
}
Foreach(itemlist中的字符串名)//itemlist=123456123456。。。如上所述
{
var listitems=lvTest.Items.Cast;
bool exists=listitems.Where(item=>item.Text==name).Any();//检查列表视图中是否已经存在项名称
如果(!存在)
{
ListViewItem lvItem=新ListViewItem(新字符串[]{name,“1”});
lvTest.Items.Add(lvItem);
}
其他的
{
ListViewItem lvItem=lvTest.Items.Cast.Where(item=>item.Text==name.FirstOrDefault();
int count=(int)lvItem.SubItems[1]。文本;
计数=计数+1;
lvItem.SubItems[1]。Text=count.ToString();
}
}
但这将不起作用,因为在

var listitems= lvTest.Items.Cast<ListViewItem>
var listitems=lvTest.Items.Cast

请提前帮助和感谢。

天哪,问题的最终原因是我没有在Cast函数后放置括号。应该是

var listitems= lvTest.Items.Cast<ListViewItem>();
var listitems=lvTest.Items.Cast();

天哪,最后的问题是因为我没有在Cast函数后放上括号。应该是

var listitems= lvTest.Items.Cast<ListViewItem>();
var listitems=lvTest.Items.Cast();

为什么不使用这样的东西

List<string> lstString = new List<string> { "123456", "123456", "456789", "456789", "456789", "135790" };

var lstGroupList = lstString .GroupBy(item => item,
              (key, group) => new { key, Items = group.ToList()}).ToList();
List lstString=新列表{“123456”、“123456”、“456789”、“456789”、“456789”、“456789”、“135790”};
var lstGroupList=lstString.GroupBy(item=>item,
(key,group)=>new{key,Items=group.ToList()}).ToList();

为什么不使用这样的东西

List<string> lstString = new List<string> { "123456", "123456", "456789", "456789", "456789", "135790" };

var lstGroupList = lstString .GroupBy(item => item,
              (key, group) => new { key, Items = group.ToList()}).ToList();
List lstString=新列表{“123456”、“123456”、“456789”、“456789”、“456789”、“456789”、“135790”};
var lstGroupList=lstString.GroupBy(item=>item,
(key,group)=>new{key,Items=group.ToList()}).ToList();
C#有趣吗这不好玩吗D可能的重复项可能的重复项