ObservableCollection新增数据前判断数据是否存在

csharp 复制代码
public class MyDataModel
{
    public int Id { get; set; }
    public string Name { get; set; }

    
}

public static void Main()
    {
        // 创建 ObservableCollection
        ObservableCollection<MyDataModel> myDataCollection = new ObservableCollection<MyDataModel>
        {
            new MyDataModel { Id = 1, Name = "Item 1" },
            new MyDataModel { Id = 2, Name = "Item 2" },
            new MyDataModel { Id = 3, Name = "Item 3" }
        };

        // 要添加的项
        MyDataModel newItem = new MyDataModel { Id = 2, Name = "Item 2" }; // Id 已存在

        // 使用 LINQ 检查是否已存在
        if (!myDataCollection.Any(item => item.Id == newItem.Id))
        {
            myDataCollection.Add(newItem);
            Console.WriteLine($"Item with Id {newItem.Id} added.");
        }
        else
        {
            Console.WriteLine($"Item with Id {newItem.Id} already exists.");
        }

        // 输出当前集合中的项
        foreach (var item in myDataCollection)
        {
            Console.WriteLine($"Id: {item.Id}, Name: {item.Name}");
        }
    }
相关推荐
cimeo5 分钟前
【C学习】13-数组使用与运算
学习·c#
c#上位机2 小时前
wpf之Interaction.Triggers
c#·wpf
是木子啦6 小时前
wpf passwordbox控件 光标移到最后
c#·wpf
布伦鸽6 小时前
C# WPF DataGrid使用Observable<Observable<object>类型作为数据源
开发语言·c#·wpf
.NET修仙日记7 小时前
2025年ASP.NETMVC面试题库全解析
面试·职场和发展·c#·asp.net·mvc·面试题·asp.net mvc
weixin_456904278 小时前
C# 串口通信完整教程 (.NET Framework 4.0)
网络·c#·.net
我笔记9 小时前
.net过滤器和缓存
c#
夏子曦17 小时前
C#内存管理深度解析:从栈堆原理到高性能编程实践
开发语言·c#
William_cl21 小时前
C# MVC网页调试的方法
开发语言·c#·mvc
小小的技术员21 小时前
C# 无实体生成JSON字符串
c#·json