随笔分类 - C#笔记
C#编程基础知识笔记
摘要:C#通过ToUpper()方法将字符串转换成大写,代码如下: string sentence= "this is in upper case."; Console.WriteLine(sentence.ToUpper()); C#通过ToLower()方法将字符串转换成小写,代码如下: string
阅读全文
摘要:C# 运算符 [] 运算符 () 运算符 。运算符 :: 运算符 + 运算符 - 运算符 * 运算符 / 运算符 % 运算符 & 运算符 | 运算符 ^ 运算符 !运算符 ~ 运算符 = 运算符 < 运算符 > 运算符 ?: 运算符 ++ 运算符 -- 运算符 && 运算符 || 运算符 << 运算
阅读全文
摘要:c#数组: 数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。声明数组变量并不是声明number0,number1,...number99一个个单独的变量,而是声明一个就像numbers这样的变量,然后使用number[0],number
阅读全文
摘要://定义委托 //delegate public delegate void GreetingDelegate(string name); public class Person { public static void EnglishSpeeking(string name) { Console.
阅读全文
摘要:public class FB { //事件:关键字event //将委托封装成了一个类型 public event Publish makePub; //方法: //发布的方法: public void MakePublish(string name) { if (makePub!=null) {
阅读全文
摘要:Stack<string> s = new Stack<string>(); int count = s.Count; s.Clear(); bool b = s.Contains("laowang"); //Push把元素入栈 s.Push("老王"); s.Push("老张"); s.Push(
阅读全文
摘要:Dictionary是存储键和值的集合 Dictionary是无序的,键Key是唯一的 Dictionary<Key,Value> dic = new Dictionary<Key,Value>(); Dictionary<string, int> dic = new Dictionary<stri
阅读全文
摘要:/* 泛型: 泛型类:访问修饰符class类名<泛型修饰符> { 泛型方法 访问修饰符 返回值类型 方法名(参数类型) { } } 泛型类: <T>:为类型占位 泛型的变量不能使用运算符'+' 泛型成员因类型不确定,可能是类、结构体、字符、枚举……所以不能使用算术运算符、比较运算符等进行运算! 注意
阅读全文
摘要:非泛型集合 ArrayList 使用非泛型集合需要引入命名空间using System.Collections; ArrayList<T>-可以根据需要动态增加的数组 Hashtable-用来存储键值对的哈希表 Queue<T>-遵循先进先出的队列 Stack<T>-遵循后进先出的栈 class P
阅读全文
摘要:/* * 1.接口的格式:访问修饰符 interface 接口名{成员} * 2.接口的目的在于让子类去实现接口定义了所以继承接口时应该遵循的内容,真正的实现是交由子类去实现的 * 3.接口成员:方法,属性,事件,但是不能有字段 * 4.接口成员默认public * 5.如果一个类继承父类的同时,又
阅读全文
摘要:在内存中一共有五个区域 1.堆区——需要程序员手动开辟并管理内存 2.栈区——由系统自动完成内存管理 3.静态区(全局区)——程序运行过程中内存中的数据一直存在 4.常量区 ——用于存放常量 5.代码区——存放程序运行所需要的代码 //静态static //静态的字段/属性或者方法,只能由类调用,不
阅读全文
摘要://单例——保证在程序运行期间,一个类最多存在一个唯一的对象,访问对象更加方便 public class DL{ public string Name; public int ID; private DL(){ } private static DL SLname; public static DL
阅读全文
摘要://方法重写:override如果没有使用override修饰,那么该方法为覆盖(前提:方法是从父类中继承过来的) 两者区别: 总结:抽象方法是只有方法名称,没有方法体(也就是没有方法具体实现),子类必须重写父类抽象方法; 虚函数是该方法有方法体,但是子类可以覆盖,也可不覆盖。 (1)虚方法有方法体
阅读全文
摘要:(一)封装 客户希望在不使用方法的情况下访问对象的状态,但是类的设计者却想将类的状态隐藏在类成员中而让客户只能通过方法间接访问对象的状态。属性满足了这两个目的: 通过属性(properties)来封装数据,为客户提供简单的“类似成员变量”的接口;同时为设计者提供了“使用方法来实现”的OO设计所必须的
阅读全文
摘要:方法重载 public class Penson { //使用方法重载可以使用方法调用更加方便——方法名一样的多个方法 //方法名必须一样 //1.方法中的参数列表必须不同 //2.方法中的参数的个数不同 //在方法重载中,与返回值类型无关 public int sum (int a, int b)
阅读全文
摘要:public class Penson { //构造方法-负责初始化对象 //1.构造方法的名称必须和类名一致 //2.构造方法没有返回值,不需要写viod //3.构造方法可以有参数 //4.构造方法允许方法重载 //5.如果没有给类添加构造方法,系统会提供一个默认构造 //6.如果我们将某个方法
阅读全文
摘要:public class Penson { //递归就是在方法内部调用方法本身 //1.递归必须有结束条件 //2.将大的复杂问题分解为与原问题类的小问题来解决,并且小问题是和原问题是同一件事情并且更简单 //递归本身是一种算法 public int F (int n) { //结束条件 if (n
阅读全文
摘要:类:相同特征和行为(功能)分为一类(抽象的) 对象:是一个类的具体(实例) 创建一个对象,new是关键字,用来创建对象或者给数组进行初始化 如果类里面的字段没有赋值,则会有一个默认值:值类型默认值为0,字符为空,bool类型默认值为false,对象默认值为null,数组默认值为null。 方法都写在
阅读全文
摘要:枚举 枚举类型声明为一组相关的符号常数定义了一个类型名称。枚举用于“多项选择”场合,就是程序运行时从编译时已经设定的固定数目的“选择”中做出决定。 枚举类型(也称为枚举)为定义一组可以赋给变量的命名整数常量提供了一种有效的方法。例如,假设您必须定义一个变量,该变量的值表示一周中的一天。该变量只能存储
阅读全文
摘要:值类型在栈中分配空间,由系统自动分配 引用类型在堆中分配空间,由我们用new分配 string是特殊的引用类型 值类型的变量数据存储在栈内存区域 引用类型的变量数据存储在堆内存区域 值类型变量相互赋值之后,对两个变量的任何操作都不会互相影响,以为它们各自有独立的存储空间,操作的是两个不同的数据。 引
阅读全文

浙公网安备 33010602011771号