
C#编程
一粒细雨
读万卷书,行万里路……
展开
-
C#值类型和引用类型的比较
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace _3._2 { class Person { public string fullName; ...原创 2018-03-23 18:10:22 · 240 阅读 · 0 评论 -
【Unity3d游戏开发】浅谈Unity中的GC以及优化
Unity GC分析及优化介绍在游戏运行的时候,数据主要存储在内存中,当游戏的数据不在需要的时候,存储当前数据的内存就可以被回收再次使用。内存垃圾是指当前废弃数据所占用的内存,垃圾回收(GC)是指将废弃的内存重新回收再次使用的过程。Unity中将垃圾回收当作内存管理的一部分,如果游戏中垃圾回收十分复杂,则游戏的性能会受到极大影响,此时垃圾回收会成为游戏性能的一大障碍点。下面我们将会...转载 2018-04-27 12:33:04 · 572 阅读 · 0 评论 -
.net framework
.NET Framework 框架的一些简单介绍 20世纪90年代以来出现的3种典型的组件技术:1)OMC(对象组件模型)的CORBA 2)Microsoft的COM/DCOM 3)Sun公司的JavaBeans在2002年,微软发布了.NET框架的第一个版本,声称其解决了旧问题并实现了下一代系统的目的。.NET框架是一种比MFC和COM编程技术更一致并面向对象的环境。它的特点包括:...转载 2018-06-10 17:29:34 · 372 阅读 · 0 评论 -
C#中反射机制总结
[整理]C#反射(Reflection)详解 本人理解:装配件:Assembly(程序集)晚绑定:后期绑定MSDN:反射(C# 编程指南)—————–原文如下——–1、 什么是反射 2、 命名空间与装配件的关系 3、 运行期得到类型信息有什么用 4、 如何使用反射获取类型 5、 如何根据类型来动态创建对象 6、 如何获取方法以及动态调用方法 7、 动态创建委托...转载 2018-06-29 18:00:09 · 301 阅读 · 0 评论 -
C#反射机制总结二
另外一篇关于反射的文章—————原文如下——————反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。 System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码 System.Reflec...转载 2018-06-29 18:01:43 · 221 阅读 · 0 评论 -
C#中foreach以及unity协程背后的秘密
1.对于foreach来说我们并不陌生,我们经常要使用它来遍历集合,或者是对象中的集合,那么下面就来介绍一个遍历对象中集合的例子,然后借此解开foreach遍历背后的神秘面纱。using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;...原创 2018-12-03 20:44:48 · 574 阅读 · 0 评论 -
UGUI中随意调整Text中的字体间距
UGUI中是没有可以随意调整字体间的距离的方法,仔细研究一下可以通过控制每个字体的网格顶点位置进行调整字体之间的距离,分析一下最简单情况:输入的文本是单行的,且末尾没有换行符;unity在UnityEngine.UI命名空间中定义了一个BaseMeshEffect抽象类,他提供了一个抽象方法ModifyMesh(VertexHelper vh),使得可以轻松地获得text文本中所有字体 的顶点...原创 2018-12-22 19:15:44 · 4390 阅读 · 0 评论 -
应用程序的登录注册功能
**主要内容:**对于使用Unity开发出来的PC端程序,实现登录注册功能。原创 2019-05-06 18:24:57 · 2179 阅读 · 0 评论 -
unity发布程序隐藏任务面板图标
任务面板上的图标的隐藏首先想到能不能直接在BuildSetting中设置,然而并不能。因为他不是unity程序的事情,他是windows的界面操作。这就想到要用windowsAPI。网上查找后发现一个函数:[DllImport("user32.dll")] public static extern IntPtr SetWindowLong(IntPtr hwnd,int _nIndex,i...原创 2019-05-10 16:21:44 · 1662 阅读 · 0 评论 -
JSON文件的解析
本文主要记录一下JSON文件解析过程中的两种基本操作方式。 JSON文件的根可以是数组,也可以是对象。接下来就是基于这两种情况进行基本的JSON文件解析。 首先看以数组为根的JSON文件解析: 创建一个JSON文本文件json.txt如下:[ { "id": 1, "name": "天下无双", "damage&a原创 2018-05-17 15:05:47 · 44529 阅读 · 3 评论 -
银行客户一天平均访问时间离散模拟
正如标题所示的意思,该程序的目的是要模拟,银行客户办理业务所花费的平均时间。 该程序是事件驱动程序,按照事件驱动的思路进行。如此,首先需要建立一个事件列表,其中存储着按事件发生的时间顺序排列的事件,根据客户到银行的特点,可以发现,事件分为两种,1、客户到达银行事件。2、客户办理完事物离开银行事件。 为事件链表创建数据类型,数据类型我创建为结构体类型,因为对每个客户来说,一个客户到来就相当于是一...原创 2018-05-03 22:33:00 · 454 阅读 · 0 评论 -
vs2017类库的创建以及调用
文件——新建——项目,点选Windows经典桌面——类库,在下面的解决方案里有{创建新解决方案、添加到解决方案、在新实例中创建},如果想在已创建的项目文件中使用该类库,那么就选择添加到解决方案,这样你在你的项目文件夹里就能看到你创建的这个类库了。 以上内容处理完成后点击确认进入类库编辑界面,进行类的编写,类库编写完成后需先进行编译,点击工具栏中 生成——生成My_Library(这是我创建的类库...原创 2018-03-23 18:24:42 · 12946 阅读 · 4 评论 -
is&as关键字比较
is关键字用于检查对象是否与给定类型兼容。注意了,这里的is并不是“是”的意思,而是“兼容”。也就是说,如果被检查对象能够强制转换成给定类型并不发生异常,那么表示它们类型兼容。如果所提供的表达式非空,并且所提供的对象可以强制转换为所提供的类型而不会导致引发异常,则is表达式的计算结果将是 true;否则,发生异常时is表达式将返回false。is的使用方式: if (obj is MyO...转载 2018-03-23 19:51:32 · 514 阅读 · 0 评论 -
C#操作字符串以及正则表达式的用法总结
string是C#的基本类型,System.String是一个类库,两者本质上是没有什么差别的。编码时使用string时系统会自动将其变换成String类型,多进行一次变换,所以在编码时最好用后者。格式化字符串有两种方法: public string ToString(string format);//用来将对象转化成format格式的字符串 public static string Foma...原创 2018-03-25 01:55:34 · 3128 阅读 · 0 评论 -
使用ASP.NET创建Web的过程
动态Web开发技术: 1.CGI(common Gateway Interface公共网关接口) 通过CGI借口,服务器根据客户端(浏览器)传过来的请求运行相应的CGI程序,将执行性的结果再返回给浏览器,(此处浏览器的请求就相当于是浏览器访问一个页面的操作,而运行CGI程序执行的结果也就是生成相应的网页返回给浏览器)。CGI技术非常流行具有很好的跨平台性。CGI程序是一个独立的可执行程序,所以...原创 2018-04-01 22:54:56 · 397 阅读 · 0 评论 -
记一次线性插值方法(Mathf.Lerp())的使用体会
对Mathf.Lerp()方法使用体会源于一次开发游戏对警报灯闪烁问题进行处理时。 public static float Lerp(float from,float to,float t); 分析一下对线性插值函数的认识,就是在from与to之间根据t值比例乘以两者之间的差再加到from上,依次地逼近to的值,但是永远不可能达到to值;接下来将出示出源码:using UnityEng...原创 2018-04-10 00:24:23 · 2933 阅读 · 0 评论 -
事件处理的本质
当在点击一个按钮执行某个操作时,你有没有想过,为什么点击了这个按钮就会执行某个操作,这是为什么?那么接下来就让我来解开这里面的秘密。 用微软中定义的事件函数来说明这个问题是再简单不过的的事情了。 首先,点击按钮是一个事件,也就是说,当你点击了按钮就相当于是触发了一个事件,学过C#窗体编程的同学都知道,事件是其中常用一个属性,按钮的触发就使用了这个属性。 不闲谈了,解决实际的问题。 将按钮的...原创 2018-04-17 15:17:39 · 377 阅读 · 0 评论 -
Unity提供的消息推送机制
转载出处:http://blog.youkuaiyun.com/liulong1567/article/details/46463353概述 Unity提供的消息推送机制可以非常方便我们的脚本开发,它实现的是一种伪监听者模式,利用的是反射机制。 常用函数 关于消息推送,常用的函数有三个:”SendMessage“、”SendMessageUpwards“、”Broadcast...转载 2018-04-04 22:00:13 · 1428 阅读 · 0 评论 -
`vector3.angle(vector3 from,vector3 to)`使用的认知
vector3.Angle(vector3 from,vector3 to)这个方法的意图是求from向量与to向量之间的夹角,并且此夹角的大小为两者之间的锐角,所以,不管什么情况,这个函数返回的值都不可能大于180; 使用这个函数进行控制主角旋转时可以很简单地实现旋转到指定的位置。但是 有一个问题,在以下的代码中,这个函数求得的值,总是在预料之外抖动,如此导致了游戏物体的旋转不可控值;...原创 2018-04-18 14:13:45 · 11643 阅读 · 2 评论 -
协程中排序后,在update函数中实行绑定操作之后显示会乱
在场景中2d背景icon的显示是使用绑定的方式,在m4uscrollviewBinding中是检测Scene2DUnitIcons属性以及时实现更新的。更新的逻辑是放到Update()函数中的。对Scene2DUnitIcons属性的处理是放在协程中进行的,原来的代码是:SceneUnitIcon icon = new SceneUnitIcon(index, unit.id, (int)u...原创 2019-05-13 15:13:35 · 271 阅读 · 0 评论