![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#语言
文章平均质量分 53
疆~
这个作者很懒,什么都没留下…
展开
-
文件操作和文件夹操作
文件 class Program { static void Main(string[] args) { //FileInfo fileInfo = new FileInfo("TextFile1.txt"); //相对路径,即把文件放在bin\debug下面 FileInfo fileInfo = ...原创 2018-10-20 15:49:22 · 262 阅读 · 0 评论 -
数据持久化之JSON
目录1.Untiy中使用第三方类库LitJSON创建和解析JSON过程如下:2.VS中使用第三方类库LitJSON创建和解析JSON过程(json为数组时)1)利用LitJSON解析json文本2)利用泛型解析json文本(更简单)(1)使用数组方式(2)使用集合方式(只要能使用数组的地方都可以使用集合) 3.VS中使用第三方类库LitJSON创建和解析JSON过程(j...原创 2018-09-09 11:17:08 · 1757 阅读 · 0 评论 -
xml文档解析
目录(一)在控制台应用程序里使用XML(二)在Unity中使用XML(将数据存储在Excel中)1.在Unity中解析XML(一)在控制台应用程序里使用XMLxml技能信息.txt(1.可直接将TXT文件拖进项目里。2.也可新建TXT文件,右键打开方式选择xml编辑器(推荐))<SkillInfo> <SkillList> ...原创 2018-10-21 00:13:27 · 202 阅读 · 0 评论 -
Partial关键字的使用
Partial:部分的。此关键字可以对类进行扩展,使其能实现更多的功能在使用时,需要对进行扩展的类添加Partial关键字。比如现有一个类Person.cs在A.cs里 public partial class Person { public static void Eat() { Debug.Log("我可以吃饭...原创 2019-01-03 17:27:35 · 897 阅读 · 0 评论 -
C#中Dictionary的介绍
class Program { static void Main(string[] args) { //创建泛型哈希表,Key类型为int,Value类型为string Dictionary<int, string> myDictionary = new Dictionary<int, s...原创 2019-01-05 14:58:42 · 4842 阅读 · 0 评论 -
C#委托和字典的结合使用
目录 例1:例2:例1:namespace ConsoleApp9{ class Program { static void Main(string[] args) { Dictionary<char, Func<float, float, float>> myDictionar...原创 2019-01-05 15:47:52 · 1460 阅读 · 2 评论 -
C#扩展方法示例(this关键字)
扩展方法能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。C#扩展方法第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。1.扩展方法(this 需要扩展的类 命名),如:public static void ExtensionEat(this Pe...原创 2019-01-12 14:00:42 · 1466 阅读 · 0 评论 -
C# 关于out关键字(一个方法返回多个值的问题)和ref关键字的用法
目录out关键字:ref关键字:总结:out关键字:通常一个方法只能返回一个值,但是如果在某些时候,我们想要返回多个值,例如某个方法将一个浮点数分割成一个整数和一个小数返回去。这个时候我们就要用到out关键字。如果用ref也可以解决,但是用ref需要在初始化的时候虚设一个值,并且还要给虚设值赋初始值。using System;namespace ConsoleApp...原创 2019-01-28 12:07:03 · 1697 阅读 · 0 评论 -
C#中internal关键字
对于一些大型的项目,通常由很多个DLL文件组成,引用了这些DLL,就能访问DLL里面的类和类里面的方法。假如你写了一个记录日志的DLL,任何项目只要引用此DLL就能实现记录日志的功能,这个DLL文件的程序就是一个程序集。如果你记录日志的程序集是这么定义的:namespace LogerHelper { internal class aa { public...转载 2019-02-04 09:29:03 · 3806 阅读 · 0 评论 -
c#中const与readonly区别
const 的概念就是一个包含不能修改的值的变量。const 字段是编译时常数,而 readonly 字段可用于运行时常数。const 默认就是静态的,而 readonly 如果设置成静态的就必须显示声明。const只能在初期就使用常量初始化好。对于每一次编译后的结果,const的值是固定的,而readonly的值是可以在运行的时候才确定值的。const只能是数字或者字符串的字面值,...原创 2019-01-29 12:22:07 · 614 阅读 · 0 评论 -
C#中sealed的用法
1. sealed关键字 当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承。类似于Java中final关键字。 在下面的示例中,类 B 可以继承类A,但是任何类都不能继承类Bclass A {}sealed class B : A {} 2. sealed 修饰方法或属性 可以允许类从基类继承,并防止它们重写特定的虚方法或虚属性。 ...原创 2019-02-07 12:23:47 · 13661 阅读 · 0 评论 -
Lambda表达式
只要有委托参数类型的地方就可以使用Lambda表达式。 Lambda运算符“=>” 的左边是参数,右边是返回值。参数和返回值类型分别对应Func泛型中的类型。 class Program { static void Main(string[] args) { Func<in...原创 2018-10-16 22:47:08 · 93 阅读 · 0 评论 -
c#中派生类的构造方法
在子类中调用父类的默认构造函数(无参)(会先调用父类的,然后是子类的), 在这里 :base()可以直接不写,因为默认会调用父类中的默认构造函数。 调用有参数的构造函数,同样是会先调用父类的,然后是子类的,但是,这里:base()不能省略了。 class Enemy { int x; public Enemy() ...原创 2018-10-09 01:31:29 · 947 阅读 · 0 评论 -
委托-c#版
1. 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。 2.方法并不能直接被当作参数被传递和调用 3. 委托也是一种类型,所以委托和类是同级的,可以通过委托来掉用方法,不要误以为委托和方法同级的 ...原创 2018-08-27 20:14:12 · 172 阅读 · 0 评论 -
事件-c#版
1.定义事件的语法:<访问修饰符> event 委托名 事件名; 2.订阅事件的语法:事件名+=new 委托名(方法名); 3.定义好事件后,与事件有关的人会订阅事件,只有订阅事件的对象才会收到发生事件的通知,没有订阅该事件的对象则不会收到通知; 4.事件的订阅通过“+=”操作符来实现,可以给事件加一个或多个方法委托; ...原创 2018-08-27 20:13:58 · 211 阅读 · 0 评论 -
c#中的接口查询(QueryInterface)
接口查询(QueryInterface) 一个类可以有多个接口,声明了接口变量并且指向一个对象的时候,这个变量只能使用该接口内的方法和属性,而不能访问其他接口中的方法和属性。但接口查询很方便的让我们在一个类中的不同接口间进行切换。using System;namespace ConsoleApp1{ interface IEat { ...原创 2018-10-14 10:36:10 · 2653 阅读 · 0 评论 -
c#虚方法
把一个基类函数声明为virtual,就可以在任何派生类中重写该函数: 在派生类中重写另外一个函数时,要使用override关键字显示声明 我们在子类里面重写虚函数之后,不管在哪里调用都是调用重写之后的方法namespace ConsoleApp7{ class Enemy { public virtual void Move() { ...原创 2018-10-09 01:31:03 · 1216 阅读 · 0 评论 -
c# 隐藏函数
如果签名相同的方法在基类和派生类中都进行了声明,但是该方法没有分别声明为virtual和override,派生类就会隐藏基类方法。(要使用new关键字进行声明)namespace ConsoleApp7{ class Enemy { public void Move() { Console.WriteLi...原创 2018-10-09 01:30:49 · 897 阅读 · 0 评论 -
C#语法中两个问号(??)的运算符的意思
?:单问号 (int?代表取值范围是 int+null)1.定义数据类型可为空。可用于对int,double,bool等无法直接赋值为null的数据类型进行null的赋值2.用于判断对象是否为空,如果对象为空,则无论该对象调用什么皆不会抛出异常,直接返回null ??:双问号 可用于判断一个变量在为null时返回一个指定的值a??1 等价于 a==null?1:a ...原创 2019-02-07 15:28:06 · 2921 阅读 · 0 评论