随笔分类 - C# & .Net
摘要:现如今Unity中的协程(Coroutine)机制已略显陈旧,随着Unitask、ETTask等异步方案的崭露头角,诸如协程异常等问题也迎刃而解 并且Unity官方也在开发一套异步方案,但对于仍使用协程的项目,依旧需要在这个方案上继续琢磨。 众所周知Unity协程中无法输出完整的栈跟踪,因为协程编译
阅读全文
摘要:最近在看neuecc大佬写的一些库:https://neuecc.medium.com/,其中对await,async以及Linq查询关键字做了一些神奇的扩展, 使其可以拿来做些自定义操作,并且不需要引用System.Linq之类的对应命名空间。 关于这些功能的实现,对此进行了学习并在Unity3D
阅读全文
摘要:1.ref的一些运用 1.1 ref readonly 关于ref,一个主要应用是防止结构体拷贝,若返回的结构体不需要修改则用ref readonly,类似c++的const标记 : private ref readonly Attr PlayerSetting(Player player) { r
阅读全文
摘要:扩展阅读: 一位园友的总结: https://www.cnblogs.com/xiaohutu/p/10951911.html 斯坦福的位运算技巧大全:http://graphics.stanford.edu/~seander/bithacks.html 推荐神书《Hackers Delight》
阅读全文
摘要:在Unity中进行速度和GC Alloc的测试 测试脚本: 100万次循环下,可空类型执行速度45ms,非可空类型执行速度12ms 并且没有GC。
阅读全文
摘要:按位取反运算符是按照二进制的每一位取反,比如byte类型,~0的结果就是255。 该功能可以在mask中做一些反转操作 如下代码,a存放了2,4,8三个值。用按位取反'~'运算符反转 打印结果是 false,flase,false,true,true。Mask已经被反转 class Program
阅读全文
摘要:起初想用SortedDictionary做游戏中的排行榜,代码如下: 结果就是unity死循环 当你get字典中的数值时,它会调用比较器。比较器里又调用了字典,造成死循环 而且这种用法还有一个问题,可排序字典是对key进行排序,操作时内部有类似二分查找的机制。 在做排行榜时又要按名称匹配,又要自动按
阅读全文
摘要:代码: using System; using System.Collections.Generic; using System.Xml; using System.Xml.Schema; using System.Xml.Serialization; namespace Hont { [XmlRo
阅读全文
摘要:1.加密分类 1.1对称加密 早期的加密类型,安全性较低。大体有:DES,DES3(或者叫做3DES),AES,RC2等 DES相对时间最久,因为1977年被美国政府正式采纳,所以具体时间可以追溯到1977年以前 AES加密于1998年提出,广泛使用大概在2006年左右。比如无线路由就可用该方式加密
阅读全文
摘要:1.工具简介 1.1.关于i18n i18n其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数是“国际化”的简称。 i10n为资源本地化,全称为Localization,因为首字母I与末字母N之间共10个字母,又称为I10N。资源本地化就是要让这个软件产品
阅读全文
摘要:还需要考虑溢出等问题,闲来无事写了写 Func<float, float, float> a = (arg1, arg2) => 0f;//init var depth = 8; a = (lastNumber, currentNumber) => { if (depth <= 0) return
阅读全文
摘要:很多人可能喜欢Linq的orderBy排序,可惜U3D里面linq在iOS上会报错,所以就必须使用List的排序。 其实理解了并不难 升序降序比较 sort有三种结果 1,-1,0分别是大,小,相等。 默认List的排序是升序排序 如果要降序排序,也很简单,只需要在前面加一个负号 List<int>
阅读全文
摘要:LinkedList是传统意义上的链表也就是双向链表。每个元素都是节点,都可以指向下一级在前添加,在后添加:mSource.AddLast(...)mSource.AddFirst(...)在某个节点前添加,在某个节点后添加:mSource.AddBefore(node, willAddNode)m...
阅读全文
摘要:对于某些跨平台程序,这也就意味着只能在windows下使用了 之前花了一些时间研究COM方式调用,太繁琐不推荐。 COM方式调用总结 后来尝试使用CLR C++,虽然可以用.Net的接口直接载入,但他只是一层C++的皮,最终没能运用在实际项目中。 最后使用MS提供的CLR API接口,完成调用 MS
阅读全文
摘要:首先这个测试没成功,只在本机上可行,在不同机器上测试失败。可能是GUID不对或者没注册成功。 既然已经花了一上午时间去研究,还是总结一下 1.网上说要创建一个snk证书,但不创建也可以。只不过不能放入gac里。似乎是放在文件当前目录也可以。(gac就是类似system32的总dll目录,通过uuid
阅读全文
摘要:测试方式:Stopwatch sw = new Stopwatch();sw.Start();string tmp = "";StringBuilder sb = new StringBuilder();for (int i = 0; i < 10000; i++){ //tmp += "|"...
阅读全文
摘要:.net中接口无法被xml序列化,提示不支持。百度和bing也搜不到,只好自己动手写了原理上肯定支持,.Net自己的xml序列化有一个IXmlSerializable接口。自行实现该接口,并取得类名,再进行自定义的序列化处理即可。using System.Collections;using Syst...
阅读全文
摘要:反序列化 附上序列化助手类 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Xml.Serialization; n
阅读全文
浙公网安备 33010602011771号