C#
文章平均质量分 72
记录分享使用C#进行开发过程中的一些经验与心得。
一团静火
安静的星星之火。
展开
-
C#-14 枚举器和迭代器
一 枚举器和可枚举类型当我们为数组使用foreach语句时,这个语句为我们依次取出了数组中的每一个元素。var arrInt = new int[] { 11, 12, 13, 14 };foreach (var item in arrInt){ Console.WriteLine(item);}原因是数组实现了IEnumerable接口,接口提供了一个GetEnumer...原创 2022-05-25 17:36:00 · 48 阅读 · 0 评论 -
C#-13 泛型
一 泛型泛型提供了一种更优雅的方式,可以让多个类型共享一组代码。泛型允许我们声明类型参数化的代码,可以用不同的类型进行实例化。也就是说,我们可以用"类型占位符"来写代码,然后在创建类的实例时指明真实的类型。C#提供了5种泛型:类、结构、接口、委托和方法。二 泛型类如下代码声明了一个SomeClass的泛型类,类型参数T1和T2列在尖括号中,当作真实类型在声明的主体中使用。class...原创 2022-05-23 19:33:00 · 69 阅读 · 0 评论 -
C#-12 转换
一 什么是转换转换是接受一个类型的值并使用它作为另一个类型的等价值的过程。下列代码演示了将1个short类型的值强制转换成byte类型的值。short var1 = 5;byte var2 = 10;var2 = (byte) var1; //强制转换,将var1的值转换成byte类型二 隐式转换有些类型的转换不会丢失数据与精度,如将8位的值转换成16位的值是非常容易...原创 2022-05-07 11:19:00 · 76 阅读 · 0 评论 -
C#-11 接口
一 什么是接口接口是指定一组函数成员而不实现它们的引用类型。class Program{ static void FlyFunc(IFly obj) { obj.Fly(); } static void Main(string[] args) { var bird = new Bird(); va...原创 2022-04-28 16:11:00 · 62 阅读 · 0 评论 -
C#-10 事件
一 发布者和订阅者很多时候都有这种需求,当一个特定的程序事件发生时,程序的其他部分可以得到该事件已经发生的通知。发布者/订阅者模式可以满足这种需求。发布者:发布某个事件的类或结构,其他类可以在该事件发生时得到通知。订阅者:注册并在事件发生时得到通知的类或结构。事件处理程序:由订阅者注册到事件的方法,在发布者触发事件时执行。触发事件:当事件触发时,所有注册到它的方法会被依次调用。事...原创 2022-03-21 16:24:00 · 95 阅读 · 0 评论 -
C#-9 委托
一 什么是委托可以认为委托是持有一个或多个方法的对象。可以执行委托,执行时委托会执行它所持有的方法。从C++的角度理解,委托可以看成一个类型安全、面向对象的C++函数指针。delegate void MyDel(int value); //声明委托类型class Program{ void PrintLow(int value) { Console.W...原创 2022-03-19 15:48:00 · 66 阅读 · 0 评论 -
C#-8 数组
一 关于数组数组是由一个变量名称表示的一组同类型的数据元素。数组中的元素通过变量名和方括号索引来访问。int[] intArray = new int[] { 1, 2, 3 }; //声明了一个名称为intArray的数组对象// 1 2 3 为 intArray中的元素 ;// intArray的维度为1 ;// intArray的维度长度为3 ;// intArray的长度为...原创 2022-03-18 19:07:00 · 79 阅读 · 0 评论 -
C#-7 结构和枚举
一 什么是结构结构是程序员定义的数据类型,有数据成员和函数成员,和类非常类似。类是引用类型,而结构是值类型;结构和类一样可以实现接口;结构是隐式密封的,不能被派生;结构类型的变量不能为null;两个结构的变量不能引用同一对象;在结构中不允许字段初始化语句;预定义简单类型(如int,long,short 等等. . . ),实际上在.Net中都实现为结构。class CSi...原创 2022-03-16 15:56:00 · 109 阅读 · 0 评论 -
C#-6 运算符和语句
一 运算符重载可以重定义或重载 C# 中内置的运算符。重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的。public static Box operator+ (Box b, Box c){ Box box = new Box(); box.length = b.length + c.length; box.breadth = ...原创 2022-03-11 16:56:00 · 46 阅读 · 0 评论 -
C#-5 类和继承
一 类继承继承是使代码可以复用的重要手段,也是面向对象程序设计的核心思想之一。继承呈现了面向对象程序设计的层次结构。通过继承,我们能以一个已经存在的类为基础来定义一个新类。已存在的类称为基类或父类,新类称为派生类或子类。派生类的成员包括:基类的成员和派生类自身声明的成员。继承自基类的成员可以被访问,就像是派生类自己声明的一样。class BaseClass{ public ...原创 2022-03-11 11:46:00 · 81 阅读 · 0 评论 -
C#-4 方法
一 何为方法方法是一块具有名称的代码,是类的函数成员。方法主要分为方法头和方法体。void Method(){ 语句1; 语句2;}二 类型推断和var关键字var sum = 15;var myClass = new MyClass();var关键字是句法上的速记,表示任何可以从初始化语句右边判断出的类型。三 方法调用var myClass = new...原创 2022-03-10 19:37:00 · 82 阅读 · 0 评论 -
C#-3 深入理解类
一 类的概述(类是逻辑相关的数据和函数的封装,通常代表真实世界中或概念上的事物)类是一种能存储数据并执行代码的数据结构,包含数据成员和函数成员。数据成员存储类或类的实例相关的数据;函数成员执行代码。二 声明类class MyClass{ 数据成员...(字段、常量) 函数成员...(方法、属性、构造函数、析构函数、事件、索引器、运算符) int MyF...原创 2022-03-10 17:22:00 · 54 阅读 · 0 评论 -
C#-2 C#程序
一 C#程序是一组类型声明C#程序或DLL的源代码是一组一种或多种类型声明。对于可执行程序,类型声明中必须有一个包含Main方法的类。命名空间是一种把相关的类型声明分组并命名的方法。是类在程序集中逻辑上的分组。二 Main:程序的起始点每个C#可执行程序必须带有Main方法。每个C#程序的可执行起始点在Main中的第一条指令。static void Main(){ ...原创 2022-03-10 14:34:00 · 88 阅读 · 0 评论 -
C#-1 .Net框架
一 .Net框架组成分为三部分:公共语言运行时CLR、框架类库FCL和编程工具1.CLR:公共语言运行时(Common Language Runtime):是一个运行时环境负责代码安全验证、代码执行、资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。它在操作系统的顶层,是.Net的核心组件。2.FCL:框架类库(Framework Class Library):提...原创 2021-05-12 18:42:00 · 128 阅读 · 0 评论