C#基础
C#基础
轶_辰
这个作者很懒,什么都没留下…
展开
-
【C#基础】字典扩展
using System.Collections;using System.Collections.Generic;using UnityEngine;/// <summary>/// 对Dictionary扩展/// </summary>public static class DictionaryExtension{ //尝试根据Key得到Val...原创 2020-04-04 21:04:00 · 350 阅读 · 0 评论 -
【C#基础】插入排序、选择排序、快速排序
一、插入排序实现思路:拿当前元素和当前元素前面的所有元素做比较,如果发现比当前元素大的,就让它向后移动 static void Main(string[] args) { int[] array = { 101, 88, 56, 40, 22, 60, 35, 80, 25, 0 }; for...原创 2019-10-24 01:02:16 · 267 阅读 · 0 评论 -
【C#基础】匿名函数、Lambda表达式、事件(Event)
一、匿名方法使用委托,都是先定义一个方法,然后把方法给委托的实例。还有另外一种使用委托的方式,不用去定义一个方法,应该说是使用匿名方法(方法没有名字)。Func<int,int,int> plus = delegate (int a,int b){ int temp = a+b; return temp;};int res = plus(34,34);C...原创 2019-10-21 13:18:15 · 855 阅读 · 1 评论 -
【C#基础】委托、多播委托
一、委托什么是委托? 如果我们要把方法当做参数来传递的话,就要用到委托。简单来说委托是一个类型,这个类型可以赋值一个方法的引用。定义一个委托要定义委托的参数和返回值,使用关键字delegate定义委托的语法如下:delegate string Getstring(string name);//定义了一个有个string类型参数,返回值为string类型,名为Getstr...原创 2019-10-21 13:17:21 · 259 阅读 · 0 评论 -
【C#基础】面向对象
一、为什么需要面向对象: 在面向对象出现之前,结构化程序设计是程序设计的主流,被称为”面向过程“的程序设计。 面向过程的开发方法,通常会存在以下问题: 1、软件复用性差 2、软件可维护性差 3、软件灵活性差 面向对象编程思想中的对象,是一种具有状态(属性)和行为(方法)的数据结构,用于描述现实世界的某个事物,将现实世界的事物模型化。...原创 2018-11-12 11:35:40 · 198 阅读 · 0 评论 -
【C#基础】值类型和引用类型
一、命名空间可以认为类是属于命名空间的如果在当前项目中不存在这个类的命名空间,需要我们手动导入这个类所在的命名空间【导入方法】(1)VS智能提示,鼠标点击小灯泡 (2)alt+shift+F10 (3)手动引入,右键--添加----引用-----using.....二、值类型和引用类型区...原创 2018-11-14 09:44:07 · 375 阅读 · 0 评论 -
【C#基础】out、ref、params参数
1)、out参数。如果你在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组。但是,如果返回多个不同类型的值的时候,返回数组就不行了,那么这个时候,我们可以考虑使用out参数。out参数要求必须在方法的内部为其赋值,out参数就侧重于在一个方法中可以返回多个不同类型的值。class Program { static void Main(string[] ...原创 2018-11-09 13:33:28 · 186 阅读 · 0 评论 -
【C#基础 】Dictionary 统计字符串中每个字母出现的次数
class Program { static void Main(string[] args) { // 其实hello world的字母个数还是挺多的呢 string str = "hello world"; //创建一个字典 Dictionary<ch...原创 2018-11-01 15:15:53 · 3009 阅读 · 0 评论 -
【C#基础】将一个字符串数组的元素进行反转
Array.Reverse(str);//反转整个数组中元素的顺序实现原理 : static void Main(string[] args) { string[] str = {"a","u","c","d","e","b" };原创 2018-11-01 15:05:48 · 2330 阅读 · 0 评论 -
【C#基础】冒泡排序
冒泡排序:将一个数组中的元素按照从大到小或者从小到大的顺序进行排列。int[] nums={9,8,7,6,5,4,3,2,1,0}; 0 1 2 3 4 5 6 7 8 9第一趟比较:8 7 6 5 4 3 2 1 0 9 交换了9次 i=0 j=nums.Length-1-0第二趟比较:7 6 5 4 3 2 1 0 8 9 交换了8次 i=1 j=...原创 2018-11-01 14:43:21 · 447 阅读 · 0 评论 -
【C#基础】String(字符串)类型
字符串类型是开发过程中使用频率较高的数据类型之一,用于存储一组字符。一、字符串1)、字符串的不可变性当你给一个字符串重新赋值之后,老值并没有销毁,而是重新开辟一块空间存储新值。当程序结束后,GC扫描整个内存,如果发现有的空间没有被指向,则立即把它销毁。2)、我们可以将字符串看做是char类型的一个只读数组。两个方法:ToCharArray();将字符串转换为char数组new ...原创 2018-11-14 11:32:56 · 1721 阅读 · 0 评论 -
【C#基础】判断字符串是否为空、判断字符是否为数字
一、判断字符串是否为空String.Empty和string=””是一样的,同样都是需要占用内存空间<空字符串>;但优先推荐使用string.EmptyConsole.WriteLine("".Equals(string.Empty));//结果:true还一种高效判断方法(s.length==0)来判断字符串是否为空字符串;【注意】:nullstring str=...原创 2018-11-14 12:20:34 · 3126 阅读 · 0 评论 -
【C#基础】StringBuilder
当需要频繁修改字符串时,使用String类型会产生大量的垃圾字符串;如果需要修改字符串而不创建新的字符串,可以使用StringBuilder类型提高性能。StringBuilder类型表示值为可变的字符序列,类似字符串。常用方法: Append:在字符串的结尾追加指定字符串 Equals:用于比较当前字符串是否与指定字符串相等 Insert:将指定字符串插入到当前字符...原创 2018-11-14 16:30:50 · 275 阅读 · 0 评论 -
【C#基础】关于类(继承)
1、继承:面向对象编程中提供的子类可以沿用父类某些行为和特征的一种方式。 当一个类继承另一个类时,被继承的类称为父类或基类;该类被称为子类或派生类。 【特点】: ⑴、传递性;(即类B继承类A,类C继承类B,故类C同时拥有类A和类B的成员。) ⑵、相对性;(当描述一个类时,不能简单的定义该类是父类还是子类,而需要相对于其他类来言。) ...原创 2018-11-14 17:28:32 · 1342 阅读 · 0 评论 -
【C#基础】多态
实现多态的三种方式:虚方法、抽象类、接口一、虚方法如果父类中的方法有默认的实现,并且父类需要被实例化,这时可以考虑将父类定义成一个普通类,用虚方法来实现多态。步骤:1、将父类的方法标记为虚方法 ,使用关键字 virtual2、子类重写父类的虚方法,使用关键字override class Program { static void Main(string...原创 2018-11-21 15:47:23 · 245 阅读 · 0 评论 -
【C#基础】里氏转换
1、里氏转换1)、子类可以赋值给父类2)、如果父类中装的是子类对象,那么可以将这个父类强转为子类对象。子类对象可以调用父类中的成员,但是父类对象永远都只能调用自己的成员。 class Program { static void Main(string[] args) { //Person p = new Teacher...原创 2018-11-15 11:20:41 · 488 阅读 · 0 评论 -
【C#基础】c#中的访问修饰符
public :公开的公共的private:私有的,只能在当前类的内部访问protected:受保护的,只能在当前类的内部以及该类的子类中访问。internal:只能在当前项目中访问。在同一个项目中,internal和public的权限是一样。1)、能够修饰类的访问修饰符只有两个:public、internal。2)、子类的访问权限不能高于父类的访问权限,会暴漏父类的成员...原创 2018-11-22 11:28:35 · 137 阅读 · 0 评论 -
【C#基础】Path类、File类、Directory类
1.Path类(静态类,用于操作文件路径) Path类提供的常用静态方法: string str = @”C:\Users\YF105\Desktop\new.txt”; Path.GetFileName(str);//获取文件名,包含扩展名 Path.GetFileNameWithoutExtension(str);//获取文件名但不包含文件扩展名 Path.GetExtension(...原创 2018-11-19 15:20:22 · 506 阅读 · 0 评论 -
【C#基础】枚举(Enum)、结构体(Struct)、委托(Delegate)
1.枚举(Enum)确定数量,确定取值。方向(东南西北),性别(男女)语法:[public] enum 枚举名{ 值1, 值2, 值3, ........}public:访问修饰符。公开的公共的,哪都可以访问。enum:关键字,声明枚举的关键字枚举名:要符合Pascal命名规范将枚举声明到命名空间的下面,类的外面,表示这个命名空间下,所有的类都可...原创 2018-11-01 11:06:45 · 1162 阅读 · 0 评论 -
【C#基础】循环的中断Break , Continue , return , go-to
Break : 跳出循环体,继续执行下面的代码Continue : 跳出本次循环,不在执行continue下面代码,继续判断循环条件,进行下一次循环 static void Main(string[] args) { //输出1-10所有数字,除了5和10 int index = 0; ...原创 2018-11-01 10:48:33 · 888 阅读 · 0 评论 -
【C#基础】C#理论基础
Day 2 1、注释符 1)、注销 2)、解释2、c#的3种注释符 1)、单行注释 // 2)、多行注释 /要注释的内容/ 3)、文档注释 /// 多用来解释类或者方法3、变量 用来在计算机当中存储数据。孙全 开房 火车 26小时 去旅馆睡觉 孙全 一个人 单人房 308 孙全 and girl 双人间 一张床 521 孙全 and boy 双人间 两张床原创 2017-11-28 14:26:52 · 1217 阅读 · 0 评论 -
【C#基础】基本概念
1、基本概念.NET :一般只.NET FrameWork框架,是一个平台,一种技术C# :一门编程语言Java :既是一个平台,又是一门编程语言2、.NET都能干什么桌面应用程序(Winform应用程序)Internet应用程序(ASP.NET)Unity3d游戏开发或虚拟现实3、.NET三中交互模式C/S :客户端(Client)/服务器(Server)模式...原创 2018-10-31 14:54:53 · 511 阅读 · 0 评论 -
【C#基础】基础语法
1、变量变量命名规则:1.以字母、_或@符号开头,不能以数字开头2.后面可跟任意字母、数字、下划线3.变量名不能跟C#中关键字相同,变量名要有意义4、驼峰命名法(Camel):首个单词的首字母小写,其余单词首字母大写,多用于给变量命名。帕斯卡命名法(Pascal): 每个单词的首字母都大写,其余字母小写。多用于给类或者方法命名。5、变量一定要先声明,再赋值,才能使用...原创 2018-10-31 15:36:26 · 201 阅读 · 0 评论 -
【C#基础】C#异常捕获(Try-catch)、流程控制
1、异常捕获我们在程序中经常会出现各种各样的异常,你如果想要你的程序变得坚强一些。在你的代码中应该经常性的使用try-catch来进行异常捕获。哪行代码有可能出现异常,你就踹它一脚。语法:try{ 可能会出现异常的代码; .... ... ...}//try和catch之间不能有其他的代码catch{ 出现异常后要执行的代码;}执...原创 2018-10-31 16:39:07 · 1018 阅读 · 0 评论 -
【C#基础】三元表达式、类型转换
三元表达式语法 :表达式1?表达式2:表达式3;表达式1一般为一个关系表达式。如果表达式1的值为true,那么表达式2的值就是整个三元表达式的值。如果表达式1的值为false,那么表达式3的值就是整个三元表达式的值。注意:表达式2的结果类型必须跟表达式3的结果类型一致,并且也要跟整个三元表达式的结果类型一致。 类型转换 static void Main(string[] a...原创 2018-10-31 17:42:27 · 757 阅读 · 0 评论 -
【C#基础】数学运算符自加和自减运算符
1.自加(先加和后加) 无论先加还是后加,值都自加1 static void Main(string[] args) { int num = 45; int result; //后加,先用num的值运算,num再自加1,result的值为45,num的值为46 re...原创 2018-11-01 10:35:06 · 695 阅读 · 0 评论 -
【C#基础】输入一个字符,判定它是什么类型的字符(大写字母,小写字母,数字或者其它字符)
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _02_判断用户输入字符类型{ class Program { static void Main(string...原创 2018-11-01 10:39:29 · 11854 阅读 · 0 评论 -
【C#基础】while循环和do-while循环
1.While循环(先判断循环条件,在执行循环体) static void Main(string[] args) { int index = 1; int sum = 0; while (index <= 10) { sum +...原创 2018-11-01 10:43:51 · 4426 阅读 · 0 评论