首页 > 编程语言 >c#监听List数量变化

c#监听List数量变化

时间:2024-12-25 17:32:45浏览次数:5  
标签:ObservableCollection c# List System collection 监听 private using public

using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using UnityEngine;
/*转为UTF-8*/
public class ObserveList : MonoBehaviour
{
    public ObservableCollection<myData> collection = new ObservableCollection<myData>();


    private void Start()
    {
        //注册事件:当数组数量发生变化时,打印数组长度
        collection.CollectionChanged += Collection_CollectionChanged;
    }

    private void Collection_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
    {
        Debug.Log(((ObservableCollection<myData>)sender).Count);
        //TODO:
    }



    private void TestAddItemToList()
    {
        collection.Add(new myData(1));
    }


    private void RemoveItemFromList()
    {
        //方式1:先查找再移除(推荐用于ObservableCollection)
        collection = new ObservableCollection<myData>(collection.Where(item=>item.dataID!=1));

        //方式2:

    }

}

public class myData
{
    public int dataID;

    public myData(int id)
    {
        this.dataID = id;
    }
}
View Code

 

标签:ObservableCollection,c#,List,System,collection,监听,private,using,public
From: https://www.cnblogs.com/WantPeach/p/18631027

相关文章

  • DEM文件如何切片成Cesium的Terrain格式?
    概述数字高程模型(DEM)文件是地形数据的重要来源,广泛用于GIS领域。然而,为了在Cesium等平台更高效地展示地形数据,将DEM文件转换并切片成Cesium的Terrain格式是一项关键操作。最近发现一款名为GISBox的免费GIS工具箱在这方面用起来非常方便,下面就为大家简单介绍一下具体操作。为什么......
  • 【Unity 低多边形3D角色资源包】Low Poly Characters 提供多种低多边形风格的角色,包括
    LowPolyCharacters是一款专为需要低多边形风格角色的游戏开发者设计的3D角色资源包。该资源包提供了多种低多边形风格的角色,包括各种职业、性别、种族的角色设计,适合用于多种类型的游戏,尤其是需要卡通或简洁艺术风格的项目。通过简单、精致的建模和材质设计,开发者可以快......
  • RocketMQ
    消息中间件:功能:异步与解耦流量削峰:数据分发:普通消息同步发送:1.实例化消息生产者Producer2.设置NameServer的地址3.启动Producer实例3.1创建消息,指定Topic,Tag和消息体·3.2发送消息到Broker4.若不再发送消息,关闭Producer实例适用于:消息通知,短信通知异步发送:1......
  • CSIG青年科学家会议干货分享:视觉内容安全技术的前沿进展与应用
    CSIG青年科学家会议干货分享:视觉内容安全技术的前沿进展与应用1.前言2.视觉内容安全技术的前沿进展与应用2.1日渐增多的视觉安全需求2.2视觉内容安全技术分类2.3通用篡改检测系统及人脸伪造检测系统2.4文档图像篡改检测成果2.5文本图像篡改检测技术的标准制定2.6......
  • VScode中配置ESlint+Prettier详细步骤(图文详情)
    VScode中配置ESlint+Prettier详细步骤(图文详情)前置环境:node18.19.0vite3.2.11vue3.2.47本文将不在演示vue3基础工程创建,如果还没有vue3项目工程请参考文章:Vite创建Vue3工程并引入ElementPlus(图文详细)本文的ESlint+Prettier版本:ESlint8.57.1Prettier3.2.51ed......
  • RocketMQ5.0 NameServer启动流程
    1.NameServer启动org.apache.rocketmq.namesrv.NamesrvStartup 的Main函数是启动的入口。启动分成了两块:NameServer启动Controller启动(5.0为自动自主切换新增的一个模块,内嵌NameServer的时候会启动)本篇文章只分析NameServer的启动,Controller的启动在后续的文章......
  • WebRTC服务质量(08)- 重传机制(05) RTX机制
    WebRTC服务质量(01)-Qos概述WebRTC服务质量(02)-RTP协议WebRTC服务质量(03)-RTCP协议WebRTC服务质量(04)-重传机制(01)RTXNACK概述WebRTC服务质量(05)-重传机制(02)NACK判断丢包WebRTC服务质量(06)-重传机制(03)NACK找到真正的丢包WebRTC服务质量(07)-重传机制(04)接收NACK......
  • 一文读懂光纤以太网IEEE 802.3cz-下
        在之前的文章中,我们介绍了IEEE802.3cz[1]协议,MultiGABSE-AU物理层中XMII、PCS子层以及两个可选功能的相关内容,本篇将介绍MultiGABSE-AU物理层PMA子层及PMD子层的相关机制。PMA子层    PMA子层位于PCS子层和PMD子层之间,规范中定义了PMA子层的三个功能:PMATr......
  • centos环境下使用docker部署.net8
    创建项目创建.net8版本的webapi项目创建dockerfile有两种创建dockerfile文件的方式,一是创建项目的时候勾选“启用容器支持”,如图1所示,二是在解决方案资源管理器中鼠标右键项目,选择“添加”,再点击“Docker支持”,在弹出的弹框中进行选择,如图2所示。图1图2:dockerfile......
  • 【芳心科技】E. 18650电池管理系统+CAN通信
    实物效果图:实现功能:1.充放电管理:单片机控制充放电继电器,对电池的充放电进行管理。2.功率控制:当放电电流过载时,进行报警3.电池异常报警:当电池温度异常偏高时,开启蜂鸣器进行报警4.Soc:对SOC进行算法设计5.均衡:系统对电池采用被动均衡6.电压采集:实时电池单体电压采集(1865......