随笔分类 -  C#和.Net

摘要:HashTable和HashMap 脑海中一直存在两个Hash,一个是HashMap另一个是HashTable,今天来总结一下两者的区别 相同点:表示根据键的哈希代码进行组织的键/值对的集合,哈希表也叫散列表。 区别:HashMap在C#中不存在的,而是在Java中 1.C#每一个元素都是存储在Di 阅读全文
posted @ 2014-09-02 11:11 赵青青 阅读(2524) 评论(2) 推荐(0) 编辑
摘要:.Net的集合类 在.NetFramework中集合类有很多种,比如:Array(数组),ArrayList(数组列表),List(列表),HashTable(哈希表),Dictionary(字典),Stack(堆栈) ,Queue(队列) ArrayList是数组的复杂版本,ArrayList 类 阅读全文
posted @ 2014-09-01 17:17 赵青青 阅读(2721) 评论(0) 推荐(0) 编辑
摘要:定义包含在搜索中的成员 下列 BindingFlags 筛选标志可用于定义包含在搜索中的成员: 为了获取返回值,必须指定 BindingFlags.Instance 或 BindingFlags.Static。 指定 BindingFlags.Public 可在搜索中包含公共成员。 指定 BindingFlags.NonPublic 可在搜索中包含非公共成员(即私有成员和受保护的成员)... 阅读全文
posted @ 2014-08-29 11:41 赵青青 阅读(1457) 评论(0) 推荐(0) 编辑
摘要:C#反射 在C#的反射中,可以通过Type来执行类中的某个方法,也可以通过MethodInfo来执行方法 三种调用方法 下面的示例中使用了三种方法来执行方法 两个类:Class1和Demo1,通过反射执行Class1中的AddNum()方法和 反射执行Demo1中的Mult()方法 using System; using System.Reflection; namespace... 阅读全文
posted @ 2014-08-29 11:12 赵青青 阅读(4092) 评论(0) 推荐(0) 编辑
摘要:特殊的String 说起值类型和引用类型,大家都知道这么个事,很多时候我们会拿String做值类型来做比较,但实际上String虽然是值类型,却表现的有点特别 String示例 看下面的一个例子: 话说string是引用类型,所以str1和str2都指向同一块内存地址,当修改了str1的值,按理str2取值时也会受到影响! 但实际上我们会发现,修改str1值之后,str2的值并没有受... 阅读全文
posted @ 2014-08-16 11:56 赵青青 阅读(462) 评论(0) 推荐(0) 编辑
摘要:泛型是什么? 通过上篇的实例 C# 泛型约束 xxx<T> Where T:约束(一),我们对泛型有一定的认识。 所谓泛型,即通过参数化类型来实现在同一份代码上操作多种数据类型,泛型编程是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用。 在定义泛型类时,可以对代码能够在实例化 阅读全文
posted @ 2014-08-06 12:00 赵青青 阅读(23071) 评论(0) 推荐(7) 编辑
摘要:泛型约束 代码举例 发现我们游戏的代码中,主程写了很多类似这样的代码: 具体使用 定义:public T GetInfo<T>(string id) where T : CBaseInfo 使用:ActorInfo actorInfo = CGameSettings.Instance.GetInfo 阅读全文
posted @ 2014-08-06 11:12 赵青青 阅读(24970) 评论(0) 推荐(2) 编辑
摘要:动机 如果你有以下迷惑,你应该看看这篇文章 你想办法找到所有与GameObject.FindGameObjectsWithTag的变换(),而不是游戏本身的对象 你需要操作,排序和更改列表和数组的类型,但似乎总是写太多的代码 你听说过LINQ,但不知道它是如何工作 你不相信我,当我说我可以写一行代码 阅读全文
posted @ 2014-07-22 16:06 赵青青 阅读(434) 评论(0) 推荐(0) 编辑
摘要:Unity的mscrolib.dll和.Net的mscrolib.dll 好奇于Unity的mscrolib.dll和.Net Framework提供的mscrolib是否一致。 .Net的mscrolib.dll 多语言标准通用对象运行时库(Microsoft Standard Common Object Runtime Library)就是指mscrolib.dll, Unity的mscrol... 阅读全文
posted @ 2014-07-21 15:06 赵青青 阅读(1464) 评论(0) 推荐(0) 编辑
摘要:Path的常用方法 函数列表 对一个路径做相应操作,包括文件路径,目录路径,通常会用到Path这个类, 本文列举一些常用的操作。 获取指定路径字符串的目录信息 直接看几个示例了: 获取指定路径字符串的扩展名 合并两个字符路径字符串 更改路径字符串的扩展名 public static string C 阅读全文
posted @ 2014-07-18 11:25 赵青青 阅读(3348) 评论(0) 推荐(0) 编辑
摘要:Reflection Reflection是C#程序员的一个最有力工具 最常用的例子来说明反射的用处是一个插件系统。假设你正在创建一个 接受用户创建 的扩展程序,有没有办法预先知道哪些方法这个扩展他们有或有扩展的名字将是什么,除非你可以检查编译的程序集,并在运行时提取信息,这正是反射呢,等等 功能需求 目前,我正在使用Unity开发一个游戏,用户界面是在游戏中(3D UI)。这意味着... 阅读全文
posted @ 2014-07-16 11:48 赵青青 阅读(2025) 评论(0) 推荐(0) 编辑
摘要:示例代码 Enumerable.Select<TSource, TResult> 方法 (IEnumerable<TSource>, Func<TSource,TResult>) 将序列中的每个元素投影到新表中。 (由 Enumerable 定义。) 有如下几种方法: 方法1 listNumber= 阅读全文
posted @ 2014-07-16 09:30 赵青青 阅读(472) 评论(0) 推荐(0) 编辑
摘要:一. 什么是Doxygen?Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件。通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打捞铁达尼号同样的辛苦。大部分有用的批注都是属于针对函式,类别等等的说明。所以,如果能依据程序本身的结构... 阅读全文
posted @ 2014-07-14 10:47 赵青青 阅读(7148) 评论(2) 推荐(3) 编辑
摘要:一、说明 一般我们定义委托都是有如下两步:public delegate void MyDelegate(string name);//定义委托public MyDelegate myDelegate; //使用委托 但.Net也提供了定义好的委托,我们可以直接使用。 二、定义 System.Action 无返回值Action: public delegate void Action ()... 阅读全文
posted @ 2014-06-09 21:25 赵青青 阅读(13647) 评论(0) 推荐(4) 编辑
摘要:协程是不同步的 协程 不是 线程,协同程序是 不同步 的 一个线程在程序中和其他线程是异步运行的,在多处理器机器中一个线程可以同时与所有其他线程的实时运行其代码,这使得线程编程能够解决很复杂的事情,因为可能在相同的时间里一个线程在改变它而另一个线程正在读取它,这意味着另一个线程实际上可以改变的东西在游戏中处理的中间似乎是你的源代码一行。这是因为你写的代码是由机器变成汇编语言,更是更复杂... 阅读全文
posted @ 2014-05-24 22:03 赵青青 阅读(9742) 评论(0) 推荐(1) 编辑
摘要:ref out 相似 ref和out两个关键字的作用大致相同,但是有一些微妙但是重要的区别。 两者的行为相似到连编译器都认为这两者不能被重载:public void SampleMethod(out int i) { }public void SampleMethod(ref int i) { }以上重载在编译时将被抛出一个错误,编译器认为out和ref是同样的行为,但是事实上在行为上他们有区别... 阅读全文
posted @ 2014-05-06 22:02 赵青青 阅读(1912) 评论(0) 推荐(0) 编辑
摘要:params,ref,out 方法参数 示例 在下面的方法使用中 OpenWindow(params object[] args) 传递的参数args添加了params修饰public void OpenWindow(params object[] args){ int id=args[0]; Hashtable tab=(Hashtable)args[1]; } public vo... 阅读全文
posted @ 2014-05-06 21:49 赵青青 阅读(8070) 评论(0) 推荐(1) 编辑
摘要:Visual Studio 工欲善其事,必先利器。本着这样的观念,对于经常使用的工具,我喜欢去研究研究,帮助我提高效率。 Visual Studio Microsoft Visual Studio(简称VS)是微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所 阅读全文
posted @ 2014-02-27 10:45 赵青青 阅读(7819) 评论(3) 推荐(3) 编辑
摘要:开发环境 VS2012旗舰版 遇到的问题 安装WP SDK8.0出错提示: 根据当前系统时钟或签名文件中的时间戳验证时要求的证书不在有效期内 解决办法 方法一:把操作系统的时间日期调整到系统的安装日期 方法二:把操作系统日期调整到提前一段日期 安装成功之后,还是没能跑起WP8的虚拟机,原因是机器的硬 阅读全文
posted @ 2014-01-14 15:33 赵青青 阅读(434) 评论(0) 推荐(0) 编辑
摘要:前言 在项目中的多处使用到了枚举,比如:道具种类(PowerupType) 游戏任务(MissionType),记录一下有关枚举的一些方法 枚举 1.遍历枚举 运行结果 2.获取Index 获取枚举中某项的Index 运行结果 3.字符串转枚举 给定一个字符串,返回枚举类型 运行结果 4.整形转枚举 阅读全文
posted @ 2014-01-14 15:21 赵青青 阅读(525) 评论(0) 推荐(0) 编辑