C# 集合(六) —— 自定義集合Collection類

總目錄
C# 語法總目錄

集合六 Collection

  • 1. 自定義集合Collection
  • 其他

1. 自定義集合Collection

Collection可以對添加刪除元素或者添加刪除屬性進行事件響應。

class Person
{public string name;public int age;public Person(){this.name = "";this.age = 0;}public Person(string name, int age){this.name = name;this.age = age;}public override string ToString(){return this.name + "," + this.age;}
}
class PersonCollection : Collection<Person>
{protected override void InsertItem(int index, Person item){base.InsertItem(index, item);Console.WriteLine("insert ele: index id {0},item is {1}",index,item.ToString());}protected override void SetItem(int index, Person item){base.SetItem(index, item);Console.WriteLine("set ele: index id {0},item is {1}", index, item.ToString());}protected override void RemoveItem(int index){base.RemoveItem(index);Console.WriteLine("remove ele: index id {0}", index);}protected override void ClearItems(){base.ClearItems();Console.WriteLine("collect is clear");}
}
internal class Program
{static void Main(string[] args){Console.WriteLine("Hello, World!");PersonCollection people = new PersonCollection();people.Add(new Person());people.Insert(0, new Person("lisi", 50));people[1] = new Person("anger", 19);people.RemoveAt(1);foreach (var item in people){Console.WriteLine(item.ToString());}}
}

其他

方法:string.Compare

string str1 = "help";
string str2 = "Help";
string str3 = "help";int res = string.Compare(str1, str2);
int res1 = string.Compare(str1, str3);
Console.WriteLine(res);     //-1
Console.WriteLine(res1);    //0

總目錄
C# 語法總目錄

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/16152.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/16152.shtml
英文地址,請注明出處:http://en.pswp.cn/web/16152.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ubuntu 硬盤轉移

我插了兩個 文件系統&#xff1a; ubuntu 硬盤轉移&#xff1a; sudo dd if/dev/sdX1 of/dev/sdY1 bs128K convnoerror,sync statusprogressdd 的意思是DiskToDisk&#xff0c;if 是輸入文件系統&#xff0c;of是輸出文件系統。 bs是每次傳遞的數據大小。 注意&#xff1a;接…

mysql-主從同步原理

AB復制(重點) 一、什么是主從復制? 1、主從同步也叫AB復制&#xff0c;是用來建立一個和主數據庫完全一樣的數據庫環境&#xff0c;稱為從數據庫&#xff1b;主數據庫一般是準實時的業務數據庫。 2、主從復制的作用 1.做數據的熱備&#xff0c;作為后備數據庫&#xff0c;…

如何用MySQL的SQL語句來讀寫硬盤目錄文件

1.先確保創建表&#xff0c;例如起名Temp CREATE TABLE temp ( id int(11) NOT NULL AUTO_INCREMENT, image mediumblob, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT7 DEFAULT CHARSETutf8; 注意這里的image字段用mediumblog&#xff0c;就可以避免出現data too …

27【Aseprite 作圖】盆栽——拆解

1 橘子畫法拆解 (1)淺色3 1 0;深色0 2 3 就可以構成一個橘子 (2)淺色 2 1;深色1 0 (小個橘子) (3)淺色 2 1 0;深色1 2 3 2 樹根部分 (1)底部畫一條橫線 (2)上一行 左空2 右空1 【代表底部重心先在右】 (3)再上一行,左空1,右空1 (4)再上一行,左突出1,…

省市區(輸入code) 轉相應省市區工具類(兩種方式)

方式一 通過調用接口&#xff08;時間高達1s&#xff09; package cn.iocoder.yudao.module.supplier.utils;import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element;import java.io.BufferedReader; import java.io.InputStreamReader; i…

Java 泛型基礎

目錄 1. 為什么使用泛型 2. 泛型的使用方式 2.1. 泛型類 2.2. 泛型接口 2.3. 泛型方法 3. 泛型涉及的符號 3.1. 類型通配符"?" 3.2. 占位符 T/K/V/E 3.3. 占位符T和通配符&#xff1f;的區別。 4. 泛型不變性 5. 泛型編譯時擦除 1. 為什么使用泛型 Java 為…

基于深度學習的入侵檢測系統綜述文獻概述

好長時間不發博客了&#xff0c;不是因為我擺爛了&#xff0c;是我換研究方向了&#xff0c;以后我就要搞科研了。使用博客記錄我的科研故事&#xff0c;邀諸君共同見證我的科研之路。 1、研究方向的背景是什么&#xff1f; &#xff08;1&#xff09;互聯網發展迅速&#xff…

Android firebase消息推送集成 FCM消息處理

FirebaseMessagingService 是 Firebase Cloud Messaging (FCM) 提供的一個服務&#xff0c;用于處理來自 Firebase 服務器的消息。它有幾個關鍵的方法&#xff0c;你提到的 onMessageReceived、doRemoteMessage 和 handleIntent 各有不同的用途。下面逐一解釋這些方法的作用和用…

在 C++ 中,p->name 和 p.name 的效果并不相同。它們用于不同的情況,取決于你是否通過指針訪問結構體成員。

p->name&#xff1a;這是指針訪問運算符&#xff08;箭頭運算符&#xff09;。當 p 是一個指向結構體的指針時&#xff0c;用 p->name 來訪問結構體的成員。 student* p &stu; // p 是一個指向 student 類型的指針 cout << p->name << endl; // 通過…

基于ssm的蛋糕商城系統java項目jsp項目javaweb

文章目錄 蛋糕商城系統一、項目演示二、項目介紹三、系統部分功能截圖四、部分代碼展示五、底部獲取項目源碼&#xff08;9.9&#xffe5;帶走&#xff09; 蛋糕商城系統 一、項目演示 蛋糕商城管理系統 二、項目介紹 系統角色 : 管理員、用戶 一&#xff0c;管理員 管理員有…

PICO VR眼鏡定制播放器使用說明文檔videoplayerlib-ToB.apk

安裝高級定制播放器 高級定制播放器下載地址:https://download.csdn.net/download/ahphong/89360454 僅限用于PICO G2、G3、G4、NEO系列VR眼鏡上使用, 用途:用于第三方APP(開發者)調用定制播放器播放2D、3D、180、360全景視頻。 VR眼鏡系統請升級到最新版,可在官網下載,…

Mixed-precision計算原理(FP32+FP16)

原文&#xff1a; https://lightning.ai/pages/community/tutorial/accelerating-large-language-models-with-mixed-precision-techniques/ This approach allows for efficient training while maintaining the accuracy and stability of the neural network. In more det…

【排序算法】選擇排序以及需要注意的問題

選擇排序的基本思想&#xff1a;每一次從待排序的數據元素中選出最小&#xff08;或最大&#xff09;的一個元素&#xff0c;存放在序列的起始位置&#xff0c;直到全部待排序的數據元素排完 。 第一種實現方法&#xff1a; void SelectSort(int* arr, int n) {for (int j 0…

【kubernetes】探索k8s集群中金絲雀發布后續 + 聲明式資源管理yaml

目錄 一、K8S常見的發布方式 1.1藍綠發布 1.2灰度發布&#xff08;金絲雀發布&#xff09; 1.3滾動發布 二、金絲雀發布 三、聲明式管理方法 3.1YAML 語法格式 3.1.1查看 api 資源版本標簽 3.1.2查看資源簡寫 3.2YAML文件詳解 3.2.1Deployment.yaml 3.2.2Pod.yaml …

CSS3特殊屬性

特殊屬性 will-change will-change 屬性用于向瀏覽器提供提示,表明某個元素或其特定屬性在未來極有可能發生變化。這有助于瀏覽器提前優化相關渲染流程,提升動畫或其他動態效果的性能。 element {will-change: auto | <animateable-feature> [, <animateable-feat…

C++系列-C/C++內存管理方式

&#x1f308;個人主頁&#xff1a;羽晨同學 &#x1f4ab;個人格言:“成為自己未來的主人~” C/C內存分布 在這篇文章開始之前&#xff0c;我們先以一道題目來進行引入&#xff1a; int glovalvar 1; static int staticGlovalvar 1; void Test() {static int staticva…

Java進階學習筆記27——StringBuilder、StringBuffer

StringBuilder&#xff1a; StringBuilder代表可變字符串對象&#xff0c;相當于一個容器&#xff0c;它里面裝的字符串是可以改變的&#xff0c;就是用來操作字符串的。 好處&#xff1a; StringBuilder比String更適合做字符串的修改操作&#xff0c;效率會更高&#xff0c;…

在CSDN上成長的感悟,你的粉絲長啥樣?

文章目錄 一、寫作的初衷1. 記錄所學內容2.鞏固所學知識3.分享與幫助4.方便后續查找5.獲取激勵 二、你的粉絲長啥樣&#xff1f;1. 粉絲的特點與困惑2. 關于粉絲&#xff0c;細思極恐 三、繼續前行、堅持初心 在CSDN上寫博文&#xff0c;對于我來說&#xff0c;不僅僅是一個記錄…

OTA在線旅行社系統架構:連接世界的科技紐帶

隨著互聯網的快速發展和人們對旅行需求的不斷增長&#xff0c;OTA&#xff08;Online Travel Agency&#xff09;在線旅行社成為了現代旅行業中的重要一環。OTA系統架構的設計和實現將對旅行行業產生深遠影響。本文將探討OTA在線旅行社系統架構的重要性和關鍵組成部分&#xff…

異構圖上的連接預測一

這里寫目錄標題 異構圖&#xff1f;處理數據&#xff1a; 異構圖&#xff1f; 異構圖&#xff1a;就是指節點與邊類型不同的圖。 連接預測&#xff1a;目的是預測圖中兩個節點之間是否存在一條邊&#xff0c;或者是預測兩個節點之間&#xff0c;在未來可能形成的連接。 eg&…