C#
文章平均质量分 86
暴熊
看英超,听歌,学习!
QQ:908965890
展开
-
共享队列和双队列
1第一种方式,共享队列两个线程共享一个队列,一个往里写,一个往外读,我将写入数据的那个线程叫做writer,读出数据的那个线程叫做reader。这样,writer线程在工作时,reader线程只能等待,reader线程在工作时写线程只能等待。有人会说,可以多来几个reader这样可以使用RWLOCK,但根据应用场景,这里就只有一个消费者。这是一种最简单的方式,也是最基本的方式,效率也很低。在这转载 2012-07-12 11:07:54 · 4986 阅读 · 0 评论 -
C# 特性(Attribute)详细介绍(转载)
1、什么是Atrribute 首先,我们肯定Attribute是一个类,下面是msdn文档对它的描述:公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型、字段、方法和属性等。Attributes和Microsoft .NET Framework文件的元数据保存在一起,可以用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为转载 2014-08-18 16:14:45 · 895 阅读 · 0 评论 -
C#中的析构函数
析构函数(destructor) 与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。以C++语言为例,析构函数名也应与类名相同,只是在函数名前面加一个波浪符~,例如~stud( ),以区别于构造函数。它不能带任何参转载 2014-09-22 15:21:26 · 650 阅读 · 0 评论 -
public void Delete<T>(List<T> EntityList) where T : class, new() 这是什么意思
就是说T必须是一个类(class)类型,不能是结构(structure)类型。这是类型参数约束,.NET支持的类型参数约束有以下五种:where T : struct T必须是一个结构类型where T : class T必须是一个类 where T : new()转载 2014-08-04 16:16:57 · 1622 阅读 · 0 评论 -
Unity 利用Quaternion.LookRotation API 将旋转矩阵转换成四元数
Quaternion.LookRotation private staticQuaternion QuaternionLookRotation(Vector3 forward,Vector3 up){ forward.Normalize(); Vector3 vector= Vector3.Normalize(forward); Vector3 vecto原创 2014-03-26 14:01:43 · 3682 阅读 · 0 评论 -
3D图形渲染管线
什么是渲染(Rendering) 渲染简单的理解可能可以是这样:就是将三维物体或三维场景的描述转化为一幅二维图像,生成的二维图像能很好的反应三维物体或三维场景(如图1): 图1:Rendering什么是渲染管线 渲染管线也称为渲染流水线,是显示芯片内部处理图形信号相互独立的的并行处理单元。一个流水线是一序列可以并行和按照转载 2013-08-24 17:53:46 · 1586 阅读 · 0 评论 -
Unity3D之如何创建正确的像素比在屏幕上
转:http://blog.csdn.net/midashao/article/details/8232341关于这篇文章的命名,实在不知道怎么命名好,大概功能就是:比如一张宽高为100x100的图片显示在屏幕上,那2D摄像头的Size值为多少时,屏幕上显示出来图片大小和图片的实际像素一致。这里涉及到一个GL坐标和像素坐标值的转换比,这个比值我们可以自己设置~之后我们设置面上顶点的转载 2013-05-06 15:35:25 · 1627 阅读 · 0 评论 -
Unity3D协同程序(Coroutine)
一。什么是协同程序 协同程序,即在主程序运行时同时开启另一段逻辑处理,来协同当前程序的执行。换句话说,开启协同程序就是开启一个线程。二。协同程序的开启与终止 在Unity3D中,使用MonoBehaviour.StartCoroutine方法即可开启一个协同程序,也就是说该方法必须在MonoBehaviour或继承于MonoBehaviour的类中调用。转载 2013-04-08 22:10:30 · 10405 阅读 · 1 评论 -
C#,int转成string,string转成int
1,int转成string用toString 或者Convert.toString()如下 例如:int varInt = 1; string varString = Convert.ToString(varInt); string varString2 = varInt.ToString();2,string转成int如果确定字符串中是可以转成数字的字符,转载 2013-02-19 10:22:24 · 567 阅读 · 0 评论 -
C#创建和终止线程
using System;using System.Threading;public class Worker{ // This method will be called when the thread is started. public void DoWork() { while (!_shouldStop) {转载 2013-02-18 23:14:23 · 697 阅读 · 0 评论 -
C# @什么意思
让转移字符"\"保持原意,不要转义,如一个地址字符串string path="c:\abc\";默认的"\"是作为转义来使用的,而不是一个真的斜杠字符串所以这个地方要取到地址,正确的写法应该是:string path=@"c:\abc\"; //这里的@让斜杠保持原意,不要转义或者string path="c:\\abc\\"; //不用@ 斜杠表示转义,所以要多加个斜杠转载 2013-01-14 15:20:41 · 642 阅读 · 0 评论 -
C#中的 int?是什么意思
int?:表示可空类型,就是一种特殊的值类型,它的值可以为null用于给变量设初值得时候,给变量(int类型)赋值为null,而不是0int??:用于判断并赋值,先判断当前变量是否为null,如果是就可以赋役个新值,否则跳过public int? a=null;public int b(){return this.a ?? 0;}值类型后面加问号表示可为空n转载 2012-09-20 19:52:14 · 977 阅读 · 0 评论 -
Waypoint 与 NavMesh 比较(转)
3.5正式版终于出炉了 相比新的粒子系统 我更期待的是他自带的navmesh寻路以下是楼主搜来的一篇关于Waypoint 与 NavMesh 比较的博文 有兴趣的童鞋多研究下哦 图片:1.png图片:2.png图片:3.png图片:4.转载 2012-07-26 14:16:14 · 1269 阅读 · 0 评论 -
Navigation Mesh与Line-of-Sight Test(转)
上图是一个由任意凸多边形构成的导航网格,白线包围区域代表着不可进入的障碍区域,红线包围区域则可以进入或穿越。网格中所有多边形的顶点存储次序均为顺时钟序。在下面的讨论中,我们的运算一概采用左手系进行。假设当前所处的位置为p0,视线方向矢量为n0,p0位于多边形A中,我们知道每一条边的两侧的多边形的编号,现在的问题是:如果求得该视线途经了哪些多边形?与这些多边形的哪些边相交于何处(即Way poi转载 2012-07-26 14:29:01 · 1381 阅读 · 0 评论 -
C# 中的Event EventArgs和Delegate(转载)
引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事转载 2014-08-18 17:03:10 · 3721 阅读 · 2 评论