随笔分类 -  C#

摘要:在代码中添加 //todo 以后要做的事 可以暂时打上标记,以后再来处理。 光有这个没什么用,关键是IDE要支持,比如VS2017,只要按下 ctrl+w,t 就可以在输出窗口中显示出所有 todo的条目,且可双击跳转到位置,这样就很方便查看未做事项了 阅读全文
posted @ 2018-07-30 12:34 时空观察者9号 阅读(388) 评论(0) 推荐(0)
摘要:一,C#调用 C/C++ 库函数 1,UNITY的C# VS工程常常打不开 属性页,右键工程无 【添加引用】项。原因是VS的自带工具【适用于UNITY的工具】导致的。 解决办法:VS-【工具】-【选项】-【适用于UNITY的工具】-【杂项】-【访问项目属性】改为true,然后重启VS, 就可以打开项 阅读全文
posted @ 2018-07-27 19:16 时空观察者9号 阅读(419) 评论(0) 推荐(0)
摘要:1,新建控制台工程xdltest,改属性-配置属性-常规-配置类型为 动态库.dll或静态库.lib2,打开工程后添加 dltest.h, dltest.cpp,其中.h与.cpp名字没必要一样3,编写代码 dltest.h#pragma once_declspec(dllexport) void 阅读全文
posted @ 2018-07-27 18:45 时空观察者9号 阅读(546) 评论(0) 推荐(0)
摘要:原文:https://www.cnblogs.com/82767136/articles/2517457.html 在合作开发时,C#时常需要调用C++DLL,当传递参数时时常遇到问题,尤其是传递和返回字符串是,现总结一下,分享给大家: VC++中主要字符串类型为:LPSTR,LPCSTR, LPC 阅读全文
posted @ 2018-07-27 18:01 时空观察者9号 阅读(659) 评论(0) 推荐(0)
摘要:1,https://blog.csdn.net/henren555/article/details/44095509 阅读全文
posted @ 2018-07-27 11:37 时空观察者9号 阅读(144) 评论(0) 推荐(0)
摘要:补充说明:这应该是由于上面的计时都非常短,由于时间很短,短到几十个时钟周期(在我的机器上大约0.000001秒)时就会有误差了 通过上面的测试说明:对于dictionary的查询,string键和数值键效率几乎一样,应该是基于hash实现的 阅读全文
posted @ 2018-04-09 14:48 时空观察者9号 阅读(270) 评论(0) 推荐(0)
摘要:using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace ConsoleApplicatio... 阅读全文
posted @ 2018-04-06 17:31 时空观察者9号 阅读(706) 评论(0) 推荐(0)
摘要:热更新是什么?简单的说就是打补丁,只补需要部分,不用重个游戏包重打上传 热更新问题的本质是代码更新而不是资源更新,为什么呢? 大型手游都是将补丁资源放在专门的WEB服务器上,游戏启动时动态下载并放入到游戏的持久化目录中,这对安卓和苹果都可以 但是代码就特殊了: 1,由于不同类型的语言有不同的运行机制 阅读全文
posted @ 2018-03-25 22:21 时空观察者9号 阅读(1386) 评论(0) 推荐(0)
摘要:http://developer.51cto.com/art/201505/477702.htm 阅读全文
posted @ 2018-03-01 17:54 时空观察者9号 阅读(1076) 评论(0) 推荐(0)
摘要:static void ReflectionTest() {//测试两种反射的效率问题 //Type.GetType()只能在同一个程序集中使用,typeof则可以跨程序集(assembly) //通过下面的实测,发现typeof是比GetType快40多倍 var timer = Stopw... 阅读全文
posted @ 2018-02-26 15:24 时空观察者9号 阅读(976) 评论(0) 推荐(0)
摘要:static void TestChar0() {//注意字符串中0和\0的区别,如 s1="h0ello", s2 = "h\0ello" //s2中的\0是字符串结尾符,除了C#不把它作为结束符外,其它语言都把它作为结束符,如U3D,LUA,C/C++等 //而s1中的0仅是一个字符0而已,字符0的ASCII值是... 阅读全文
posted @ 2018-01-16 17:45 时空观察者9号 阅读(244) 评论(0) 推荐(0)
摘要:1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEditor; 4 using UnityEngine; 5 6 public class animImport : AssetPostprocessor 7 { 8 9 //fbx动画导入前的处理,对动画集进行切... 阅读全文
posted @ 2018-01-16 14:58 时空观察者9号 阅读(248) 评论(0) 推荐(0)
摘要:这两个问题很容易弄混淆。要确定旋转正向必须先确定是左手坐标系还是右手坐标系。 1,判定坐标系: 方式一:使用左手,大拇指指向Z轴正向,其余四指由X向Y握起。如果可以达成,则为左手坐标系,否则为右手坐标系。 方式二:伸出左手,食指朝上,大拇指向右,中指向前,如果X,Y,Z三轴分别与大拇指,食指,中指同 阅读全文
posted @ 2017-12-08 16:15 时空观察者9号 阅读(5447) 评论(0) 推荐(0)
摘要:LUA中: local s = "hello\0\0dddddddd" print(s) --hello C#中: string s = "hello\0\0ddddddd" console.writeline(s) //"hello\0\0ddddddd" 总结:C#无视字符串中的\0,并不以它会 阅读全文
posted @ 2017-12-07 11:48 时空观察者9号 阅读(622) 评论(0) 推荐(0)
摘要:byte[] myReadBuffer = new byte[1024]; private void ReceiveMessage() { try { tcpClient = new System.Net.Sockets.TcpClient("192.... 阅读全文
posted @ 2017-11-30 22:14 时空观察者9号 阅读(304) 评论(0) 推荐(0)
摘要:ASCII表是计算机将字符转为数字存储的一张转换表。因此,只有字符才有ASCII值,数字是没有的。 答案:数字1没有ASCII值,数字1在计算机中就是按数值1存储的。 字符1的ASCII值是 49 阅读全文
posted @ 2017-11-29 09:41 时空观察者9号 阅读(2736) 评论(0) 推荐(0)
摘要:1,有拆装箱的情景时,可使用模板方式避免拆装箱,这时候使用模板比不使用效率要高很多。 2,无拆装箱的操作时,全部是值传递,使用模板会比使用基本类型慢一半 阅读全文
posted @ 2017-11-21 11:36 时空观察者9号 阅读(228) 评论(0) 推荐(0)
摘要:1 static void TestTypeConvert() 2 {//把一个有符号数转为无符号后再转回来值保持不变,以下以1字节为例 3 //原理:计算机中符点数都是有符号的,不存在这种转变,只剩下整数, 4 //真值:绝对值的二进制值,如-1的真值为 00000001 5 //... 阅读全文
posted @ 2017-11-21 11:30 时空观察者9号 阅读(494) 评论(0) 推荐(0)
摘要:void TestEncoding() { string s1 = "你好啊ABC"; var ms = new MemoryStream(); var writer = new BinaryWriter(ms, Encoding.ASCII); writer.Write(s1); ms.Close 阅读全文
posted @ 2017-11-21 10:22 时空观察者9号 阅读(397) 评论(0) 推荐(0)
摘要:如题,destroyimadiate是立即将物体从场景hierachy中移除,并标记为 "null",注意 是带引号的null。这是UNITY内部的一个处理技巧。关于这个技巧有很争议。 destroy要等到帧末才会将物体从场景层级中移除并标记为"null"。 不管如何,二者都只是UNITY引擎层面的 阅读全文
posted @ 2017-09-22 15:09 时空观察者9号 阅读(2589) 评论(0) 推荐(0)