C# 初步学习
+Zhang
OZZO
展开
-
静态和非静态
关键字:static在类中可以定义为静态的成员有:字段,方法,属性,运算符,事件,构造函数等,不可以是索引器,析构函数。可以定义静态类,也可以在非静态类中定义制定的静态字段,方法,属性等。代码示例:static public class OP//静态 公开的 类 OP { static public int a;//静态公开的字段 st...原创 2019-01-14 15:08:33 · 106 阅读 · 0 评论 -
C#基础 11 继承 虚成员virtual+overeide 与 new
继承:继承(以及封装和多态性)是面向对象的编程的三个主要特征之一。通过继承,可以创建重用、扩展和修改在其他类中定义的行为的新类。其成员被继承的类称为“基类/父类/超类”,继承这些成员的类称为“派生类/子类/次类”。继承语法格式:访问修饰符 class 派生类名:基类名{ 派生类主体(是父类写父类主体 子类写子类主体)}继承的特性:1.可传递性 ...翻译 2019-03-11 15:48:02 · 379 阅读 · 0 评论 -
C# 基础12 虚成员中 base This的使用
base代表基类,使用base可以调用基类的构造函数、属性和方法等,可以在子类中利用base调用父类中的构造函数。静态成员方法中不能使用base与this关键字。如果没有在子类中显示声明调用父类的构造函数,会默认调用父类中的无参构造函数。 class People //父类 {...原创 2019-03-12 16:42:37 · 193 阅读 · 0 评论 -
C# 基础15 哈希表 排序列表
哈希表(Hashtable):使用键来访问集合中的元素排序列表(SortedList):代表了一系列按照键来排序的键/值对,这些键值对可以通过键和索引来访问排序列表是数组和哈希表的组合,它包含一个可使用键或索引访问各项的列表,如果您使用索引访问各项,则它是一个动态数组(ArrayList),如果您使用键访问各项,则它是一个哈希表(Hashtable),集合中的各项总是按键值排序。堆栈(...翻译 2019-03-21 10:55:17 · 1819 阅读 · 0 评论 -
C#基础 13 抽象abstract 与接口 interface
关键字:使用abstract关键字可以创建不完整且必须在派生类中实现的类和类的成员。抽象类抽象类是特殊的类,只是不能被实例化;除此以外具有类的其他特性; 重要的是抽象类可以包括抽象方法,这是普通类所不能的; 抽象类中也可以编写非抽象方法; 抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖。 抽象父类申请成对象,不能构造成父类使用,只能构造子类来使用。 抽象类中可...翻译 2019-03-18 14:15:18 · 213 阅读 · 0 评论 -
C# 基础16 Delegate 委托
委托委托也叫代理,就是把事情交付给别人去办。委托是具有相同弄个签名和返回值类型的有序方法列表。!委托定义了方法的类型,使得可以把方法当做另一个方法的参数来进行传递!委托是一种引用类型,方法的列表称为调用列表,当委托被调用时,它调用列表中的每个方法。委托是方法的抽象,它存储的就是一系列具有相同签名和返回值类型的方法的地址/引用。定义语法格式:访问修饰符 dele...翻译 2019-03-22 17:45:09 · 138 阅读 · 0 评论 -
C# 基础17 索引器
概念索引器是一种特殊的类的成员,它能够让对象以类似数组的方式来存取,使程序看起来更为直观,更容易编写。当一个类包含了数组和集合成员时,使用索引器将大大简化对数组或集合成员的存取操作。可以通过索引器可以存取类的实例的数组成员,操作方法和数组相似。索引器(Indexer)可被重载,索引器声明的时候也可带有多个参数,且每个参数可以是不用的类型定义定义索引器的方式与定义属性...翻译 2019-03-26 15:59:45 · 161 阅读 · 0 评论 -
C# 基础19 匿名方法+Lambda表达式+扩展方法
匿名方法匿名方法(Anonymous methods)提供了一种传递代码块作为委托参数的技术。匿名方法是没有名称只有主体的方法 。在匿名方法中不需要指定返回类型,它是从方法主体内的return语句推断的。匿名方法语法: delegate (参数) {方法体};匿名方法特点:1.没有方法名(由系统默认名...翻译 2019-04-01 10:09:03 · 328 阅读 · 0 评论 -
C# 基础18 泛型与泛型集合类+List<T>
概念:泛型就是通过参数类型来实现在同一份代码上操作多种数据类型泛型编程是一种编程范式,它利用“参数化类型”将类型抽象画,从而实现更为灵活的复用使用泛型时,参数化的类型可以设置多个,以逗号隔开。泛型方法:数据类型 名称<代表字符X>(代表字符X x):不一定用X static void Main(string[] args) ...翻译 2019-04-01 11:10:24 · 795 阅读 · 0 评论 -
C# 基础18 event(事件)
概念事件是类在发生其关注的事情时用来提供通知的一种方式。类和对象可以通过事件向其他类或对象通知发生的相关事情。事件发生着(Publisher):一个事件的发行者,也称为发送者(sender).其实就是个对象,这个对象会自行维护本身的状态信息,当本身的状态信息变动时,便出发一个事件,并通知所有事件订阅者。事件订阅者(SUbscriber):对事件感兴趣的对象,也称为接受者(Re...转载 2019-03-27 23:32:38 · 2421 阅读 · 0 评论 -
C# 基础7 构造函数与析构函数
构造函数:作用:构造类属性,初始化对象。特点:无返回值,Void都没有 每个类中都有一个,就算不创建系统也会自动创建一个,没有参数 方法名必须与类名相同 对象被构造时自动调用, 创建new类时 ()里是否有参数,由类的构造方法来决定class Program 构造函数基础写法 { public Program() ...翻译 2019-03-07 17:41:02 · 358 阅读 · 0 评论 -
C#基础2 程序基本结构、循环语句
https://blog.csdn.net/NCZ9_/article/details/83620666都是总结老师教我的和自己的理解一、程序基本结构1.顺序结构:程序代码中最基本的结构,简单地说就是逐条执行程序中的语句,从程序开始执行到程序结束为止。2.分支结构/选择语句:根据不同的条件选择不同的分支,进入不同分支后,每个分支对应语句序列。if条件语句:形式一、:if(条...原创 2019-03-04 17:20:29 · 299 阅读 · 0 评论 -
方法 属性 类
方法概念语法格式:<Access Specifier> <Return Type> <Method Name>(Parameter List){ Method Body}访问修饰符 返回类型 方法名称(参数列表){ 方法主体}Access Specifier:访问修饰符这...原创 2019-01-14 15:09:05 · 351 阅读 · 0 评论 -
方法/函数以及静态,非静态如何输出
方法/函数(非静态)public int Aa(){ return 1;} 输出: public int Aa(int a)//方法 { a++; Console.WriteLine(a); return a; } 输出 ...原创 2019-01-15 15:23:00 · 734 阅读 · 0 评论 -
C#基础3 数组与数组的基本结构
https://blog.csdn.net/NCZ9_/article/details/83651014数组:一种数据结构,它可以包含同一类型的多个元素。数组元素:数组中的数据。访问数组元素:数组名[下标] ——————> 下标从0开始。数组长度(Length):数组中的元素个数。遍历:就是有序地查看数组的每一个元素。一维数组:数据类型[] 数组名;(示例:int[...翻译 2019-03-05 13:49:23 · 295 阅读 · 0 评论 -
C# 基础8 结构体
定义结构:访问修饰符 struct 结构名{ 结构体}结构的成员可以是变量,常量,构造函数,方法,属性等。使用结构时 :声明结构体变量结构名 变量名—————————— 变量名.成员名new实例化结构名 对象名=new 结构名()--------------- 对象名.成员名struct Struct struct 结...转载 2019-03-08 14:16:21 · 202 阅读 · 0 评论 -
C#基础9 值类型与引用类型、值传递与引用传递
内存结构1 栈区(stack)由编译器自动分配释放,存放函数的参数值/局部变量的值等,其操作方式类似于数据结构中的栈。2 堆区(heap)一般由程序员分配释放,若程序员不释放,程序结束时由垃圾回收器(garbage collector gc)回收,注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3 全局区(静态区)(static),全局变量和静态变量的存储是放在一块的,初始化的...原创 2019-03-08 16:51:11 · 404 阅读 · 0 评论 -
C#基础10 匿名属性与对象初始化器、类初始化器
匿名类型与对象初始化器var Xx = new { TheA = "李六",TheB=26 }; var就是匿名类型 对象初始化器 Console.WriteLine(Xx.TheA); Console.ReadKey();如果没有必要一定创建类,属性只用一次的情况下可以用上面的方法( 参考原文)class Clas...翻译 2019-03-08 17:06:15 · 388 阅读 · 0 评论 -
C#基础5 方法、函数和类
结合我对老师课程的理解编写https://blog.csdn.net/NCZ9_/article/details/83828513一、方法、函数一个方法是把一些相关的语句组织在一起,用来执行一个任务的语句块。每一个 C# 程序至少有一个带有 Main 方法的类。方法、函数是类的成员。写法:<Access Specifier> <Return Type> ...原创 2019-03-06 16:16:36 · 1058 阅读 · 0 评论 -
C#基础6 属性、静态与非静态
结合自己理解和老师的教学编写https://blog.csdn.net/NCZ9_/article/details/83855838一、属性概念:字段:又称为:“成员变量”,一般在类的内部做数据交互使用。属性:是字段的一种自然扩展,是一个与类或对象相关联的命名。作用:保护字段,对字段取值与赋值进行限定。语法格式:1、代码示例:public string Game{...转载 2019-03-06 16:57:21 · 255 阅读 · 0 评论 -
C#基础1 输出输入、数据类型、常量与变量
一、输入输出输入:console.writeLine()输出:console.readLine()注释://或/* */二、数据类型分为整数类型、浮点数类型、布尔类型(判断)、字符类型、字符串类型sbyte/byte 整数类型 有无符号8位 short/ushort 整数类型 有无符号16位 int/uint 整数类...原创 2019-03-04 15:44:23 · 1072 阅读 · 0 评论 -
C#补:char类型大小写转换
Char 类型有自带的大小写转换方法:将小写转换成大写:Char.ToUpper(); //小写转大写char[] b=new char[5]; //char数组if (b[i]>='a'&&b[i]<='z') //如果char[i]下标是小写 { b[i]= Char.ToUppe...原创 2019-03-28 14:48:42 · 2872 阅读 · 0 评论