当前位置: 首页 > news >正文

C#字典操作与类对象全解析

《字典》

字典:包含了key(键)和value(值),简称键值对,键是唯一的,值可以是任意类型的,字典是没有顺序的,只能通过键取值。
创建字典的方法
// Dictionary<string,string>第一个string 键的类型;第二个string值的类型
Dictionary<string,string> dic = new Dictionary<string,string>();

2添加键值对
dic.Add("news1","微信支付过年之后可能会被取消");//参数1键唯一,参数2是值
dic.Add("news2","柬埔寨生命科学学院最大股东是国内gs");
dic.Add("news3", "李连杰像个小朋友");

3根据键取出值
Console.WriteLine(dic["news1"]);//根据键取出值
Console.WriteLine(dic.Values);//获取所有的值的集合
Console.WriteLine(string.Join("-",dic.Values));
foreach (var item in dic.Values)//遍历字典里面所有值
{
Console.WriteLine(item+"-------------");
}
4取出键
Console.WriteLine(dic.Keys);//获取所有键的集合
Array.ForEach(dic.Keys.ToArray(), v => Console.WriteLine(v+"???????"));//dic.keys。ToArry()转成数组类型
7修改值
dic["news3"] = "三胎补助";
8根据键进行删除
dic.Remove("news3");
9 是否包含news3键
Console.WriteLine(dic.ContainsKey("news3"));
Console.WriteLine(dic.Count);//个数
5使用循环先遍历键 再根据键获取值
foreach (var item in dic.Values)
{
Console.WriteLine(dic[item]+".............");
}
6清空集合
//dic.Clear();

《var定义变量》

定义整型和字符串类型可以使用指定关键字
int a = 10;
string b = "hello";

还可以在定义使用var进行定义 ,var可以接受任意类型的数据,var类型是根据赋值的时候确定类型
var c = 10;
var d = "ss";

dynamic 动态类型定义,也可以接受任意类型数据
dynamic name = "world";
dynamic age = 10;
Console.WriteLine(name);

dynamic和var区别
//1 var是没有类型的,只有在赋值完之后才确定类型,dynamic就是一个类型
//2 var 在定义时候 必须赋值
//3 使用dynamic时候 编码的时候没有对应的提示

var 使用的场景,在遍历数组的时候可以var接收数组元素
//foreach(var item in collection)
//{
//}
var dic = new Dictionary<string, int>();
Console.WriteLine(dic.Count);
/*强类型编程语言:定义一个数据 一旦确定数据的类型,这个数据不能再赋值成其它类型 好处:类型安全,坏处需要类型的转换
* C#强类型语法
*
*
* 弱类型编程语言:定义一个数据 一行的代码可以修改数据的类型 坏处:类型不安全,好处不需要类型的转换
* js弱类型

《类与对象》

类:就是一个定义了数据类型的蓝图(模板),如人类、鸟类、动物类、狗类、玩家类、怪物类...,一个类的创建实际上并没有定义任何的数据,它仅仅定义了一个类是什么、意味着什么、由什么东西组成、可执行什么操作...

对象:对象就是类的实例,由某一个类实打实的创建出来的一个实际拥有的产物,如:一个人、一只鸟、一只猫、一只金毛、玩家A、玩家B、哥布林、牛头怪

类成员:一个类中包含需要的信息(属性)和行为(方法),这些信息我们统称为类成员。类成员用于记录这个类的信息
如:人类应该拥有名字、性别、年龄等属性,应该拥有吃、喝、拉、撒、睡等方法

类和对象是面向对象编程语言的一大核心
类:是具有相同信息和行为的抽象的一个概念,某一类事物的总称
对象:是实实在在的个体,由类进行创建,是类的实例化。张三是People类的实例化对象

修饰符:就是类和属性,字段,方法使用的范围
一般类默认修饰符internal
字段的默认修饰符是private,主要是保证数据的安全性
属性一般定义public,主要是外部进行访问
方法一般定义成public'

public:允许类,属性,字段,方法在类的外部进行访问,
private 只能在本类里面访问
protected 不能在外部访问属性或者字段
internal :当前项目可以引用该类

http://www.cnnetsun.cn/news/69901.html

相关文章:

  • [CISCN2019 华东南赛区]Web4
  • AI编程革命!Claude Skills大揭秘:小白也能快速上手的Agent开发神器,大模型开发者必看!
  • 内点法求最优潮流附matlab代码
  • 三相PWM整流器有限集模型预测电流控制附Simulink仿真模型
  • 光伏四可“可观”功能:光伏电站全景数字化的底层支撑技术
  • 如何用FLUX.1-dev镜像在本地部署下一代AI绘画模型?
  • 基于 Comsol 移动网格方法的激光熔池流动数值模拟
  • BLDC无刷直流电机Matlab仿真:转速电流双闭环控制及有感无感换相方式研究
  • [光学原理与应用-491]:水冷机、零气模块CDA、功率计等影响266皮秒紫外激光器的种子源1064nm功率稳定性结果的主要因素有哪些?
  • 昆仑通态MCGS与欧姆龙E5CC温控器通讯实战:PID模式及输出启停控制
  • 通达信〖逆势突破强牛〗指标公式 逆市环境中率先突破前期重要压力位 较强内在上涨动力
  • 基于扰动观测器的永磁同步电机(PMSM)模型预测控制(MPC)仿真探索
  • AEB联合仿真算法设计:Carsim2019.0+Matlab/Simulink2021a实现...
  • Java毕设选题推荐:基于springboot个人博客系统的设计与实现基于SpringBoot+Vue个人博客系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java毕设选题推荐:基于springboot停车场车位预约系统基于Java springboot停车场管理系统停车位预约【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java毕设选题推荐:基于springboot的无人化、线上化、数据化海洋馆预约系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Ascend C高级API应用:InitGlobalMemory与Pad操作的底层原理
  • Java毕设选题推荐:基于Java Web的新能源汽车信息咨询服务基于SpringBoot+Vue的新能源汽车信息咨询服务的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:OPA 集成指南:从原理到实践
  • Object.defineProperty和Proxy实现拦截的区别
  • 若依物联网
  • PSEN1抗体:如何揭示阿尔茨海默病致病机制与治疗新靶点?
  • Docker Engine 升级指南:保障容器安全的关键步骤
  • 基于zigbee灯光控制照明及色温调节系统的设计与实现(有完整资料)
  • 7、Python高级语法:描述器、属性与元编程实战
  • 【开题答辩全过程】以 基于java技术的校园一卡通系统的设计与实现为例,包含答辩的问题和答案
  • 11、Python 包与应用开发全解析
  • django基于智能推荐算法的全屋定制平台网站设计
  • 详谈:解释器模式(四)
  • 双Buck电路并联下的下垂控制与VDCM协同控制策略:增强直流微电网稳定性的仿真应用