c#
LNGOD
寻找一流人才的聚集地
展开
-
C#程序集和反射
关于C#的程序集和反射,历来都是兵家必争之话题。 首先我们来看程序集,程序集是代码进行编译是的一个逻辑单元,把相关的代码和类型进行组合,然后生成PE文件(例如可执行文件.exe和类库文件.dll)。由于程序集在编译后并不一定会生成单个文件,而可能会生成多个物理文件,甚至可能会生成分布在不同位置的多个物理文件,所以程序集是一个逻辑单元,而不是一个物理单元。即程序集在逻辑上是一个编译单元,但在物理...原创 2018-07-11 23:41:23 · 215 阅读 · 0 评论 -
C#中Get和Post请求的同步及异步方法
在C#中发起Http请求一般使用HttpWebRequest这个类,下文将使用这个HttpWebRequest对象来对Get和Post的同步及异步请求进行封装:新建HttpRequestHelper类: public static class HttpRequestHelper { /// <summary> /// Http Ge...原创 2018-09-12 21:06:36 · 2121 阅读 · 0 评论 -
C#委托
今天在寻找INVOKE传参方法的时候,网上搜了一堆也没得到一个像样的回答,有人说可以通过委托实现,我是没实现成功,不过顺带把委托复习了一遍,下面是委托相关的知识点。 1、什么是委托从数据结构来讲,委托是和类一样是一种用户自定义类型。委托是方法的抽象,它存储的就是一系列具有相同签名和返回回类型的方法的地址。调用委托的时候,委托包含的所有方法将被执行。2、委托的定义委托是类型,就好像...原创 2018-09-03 18:52:15 · 158 阅读 · 0 评论 -
C#嵌套类
嵌套类型可以自由访问外层类型的成员,而不在乎那些成员是否私有。外层类型如果想访问嵌套类型,则要受到访问规则的限制。 不管外层类型是类型还是结构,嵌套类型均默认为 private,但是可以设置为 public、protected internal、protected、internal 或 private。 如果嵌套类型是private或protected的,嵌套类型对外层类型以外的其它类型是不可...原创 2018-09-03 18:43:19 · 1706 阅读 · 0 评论 -
UNITY材质球合并
材质球合并,分以下几步走,首先我们讨论普通的MeshRenderer的材质球合并,然后再讨论SkinnedMeshRenderer的材质球合并。普通的MeshRenderer的材质球合并:1.合并所有材质球所携带的贴图,新建一个材质球,并把合并好的贴图赋予新的材质球。2.记录下每个被合并的贴图所处于新贴图的Rect,用一个Rect[]数组存下来。3.合并网格,并把需要合并的各个网格...原创 2018-09-05 16:39:57 · 5113 阅读 · 0 评论 -
UNITY PlayClipAtPoint用法
今天折腾了一天3D音效,把脚本直接挂载怪物身上总觉的不合适,用相机的audioSource切换一直出现卡顿现象。最后终于靠PlayClipAtPoint救了一命。 下面介绍一下该函数以及如何使用多个AudioSource。 ———————————————————————————————— 游戏中的声音通常可以分为音乐和音效,音乐通常时间较长,且需要循环播放,音效则时间较短,不需要循环播放。...原创 2018-09-04 23:29:11 · 5365 阅读 · 1 评论 -
对c#的get和set的看法
在程序中经常碰到get、set,不甚明白,在网上查询时也说的迷迷糊糊,所以整理下,以学的明白透彻点。有两个类person:public class person{public string name;}public class person{public string Name{set;get;}}第一个类型的name属性未封装,其name属性直接通过pub...原创 2018-09-01 21:34:20 · 180 阅读 · 0 评论 -
C#脚本 [System.Serializable]的作用
前几天在做自己的塔防游戏的时候,建造了一个turrentData类,却无法显示在inspector上,百度别人对此问题的解决办法后,得到了用序列化存储的解决办法,在类前写上 [System.Serializable]就解决了问题,下面介绍一下 序列化的作用。序列化是指将对象实例的状态存储到存储媒体的过程。在此过程中,先将对象的公共字段和私有字段以及类的名称(包括类所在的程序集)转换为字节流,然...原创 2018-08-25 18:26:14 · 16166 阅读 · 0 评论 -
C#as的用法
在程序中,进行类型转换时常见的事,C#支持基本的强制类型转换方法,例如 Object obj1 = new NewType(); NewType newValue = (NewType)obj1; 这样强制转换的时候,这个过程是不安全的,因此需要用try-catch语句进行保护,这样一来,比较安全的代码方式应如下所示: Object obj1 = new NewType(); NewT...原创 2018-09-04 10:36:10 · 1745 阅读 · 0 评论 -
C#程序集的组成
1.程序集清单,包含描述该程序集中各元素彼此如何关联的数据集合,还包含指定该程序集的版本要求和安全标识所需的所有元数据,以及定义该程序集的范围和解析对资源和类的应用所需的全部元数据。 2.元数据,提供有关程序集中定义的类型的信息,包括类型的名称,可见性,基类和类型所实现的接口。注意:程序集清单和元数据说明了程序集是自我描述的。 3.实现这些类型的MSIL代码。 4.资源集,诸如位图,指针,静...原创 2018-08-26 17:14:07 · 949 阅读 · 0 评论 -
435. 无重叠区间
题目 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 解题思路 按照每个节点的end从小到大排序,从第一个开始,将当前点的end和后面一个节点的start比较,如果end<=start那么说明没有重合,将后面一个节点作为当前点,继续向后比较。...原创 2018-08-11 21:17:49 · 736 阅读 · 0 评论 -
Unity中的物体移动-Transform.Translate
Transform.Translate通过设置下一步移动的矢量方向和大小进行移动。有两种移动方式:1.ADWS控制游戏对象上下左右移动,不涉及旋转;2.AD通过旋转控制方向,WS控制前后移动,也可以实现受控位移。无论哪种方式,首先都要获取键盘响应,可以通过Input.GetKey获取,也可以通过Input.GetAxisRaw获取。第一种方式下的代码如下:float i...原创 2018-08-14 19:04:36 · 4744 阅读 · 0 评论 -
C#虚函数
在面向对象编程中,有两种截然不同的继承方式:实现继承和接口继承。在实现继承时候,在Java中,所有函数默认都是virtual的,而在C#中所有函数并不默认为virtual的,但可以在基类中通过声明关键字virtual,就可以在其派生类中通过关键字override重写该函数。 重写后的virtual函数依旧是virtual函数。由于virtual只对类中的实例函数成员有意义,所以成员字段和静态函...原创 2018-07-25 22:57:33 · 2912 阅读 · 0 评论 -
Unity相机自适应背景
在 Unity 3D 中可以把摄像机设置为正交。正交摄像机与 Unity 3D 中普通摄像机相比没有透视效果(近大远小),所以正交相机一般可以用于 2D 游戏开发或者是 3D 游戏的 UI 开发。在 2D 游戏开发中,有时会遇到根据屏幕的分辨率对游戏的背景进行自适应缩放的需求,这就需要对正交摄像机的尺寸也就是显示范围有一定的了解。在正交相机中唯一与显示范围相关的属性只有一个,那就是 Siz...原创 2018-07-25 17:11:22 · 2227 阅读 · 0 评论 -
Unity transform 和 gameObject的关系与区别
一,概述 我们在monoDevelop中书写脚本语言时,GameObject与gameobject, Transform和transform是同时存在的如下图, 那么它们有什么区别和联系呢? 1&gt;GameObject与gameObject 2&gt;Transform与transform 二,GameObject与gameObject...原创 2018-07-25 13:19:50 · 7915 阅读 · 0 评论 -
C# action delegate func的区别
转自https://www.cnblogs.com/772933011qq/p/6369381.html以前我都是通过定义一个delegate来写委托的,但是最近看一些外国人写的源码都是用action和func方式来写,当时感觉对这很陌生所以看起源码也觉得陌生,所以我就花费时间来学习下这两种方式,然后发现确实代码简洁了不少。这两种方式我们也可以去实践的过程去慢慢运用。先说一下委托:模拟...原创 2018-09-12 23:40:55 · 1430 阅读 · 2 评论