C#
文章平均质量分 56
小张不爱写代码
一枚不爱写代码的程序猿
展开
-
C# 多线程
被定义为程序的执行路径。每个线程都定义了一个独特的控制流。如果您的应用程序涉及到复杂的和耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的工作。线程是。一个使用线程的常见实例是现代操作系统中并行编程的实现。使用线程节省了 CPU 周期的浪费,同时提高了应用程序的效率。到目前为止我们编写的程序是一个单线程作为应用程序的运行实例的单一的过程运行的。但是,这样子应用程序同时只能执行一个任务。为了同时执行多个任务,它可以被划分为更小的线程。转载 2022-11-14 11:11:27 · 101 阅读 · 0 评论 -
C# 不安全代码
当一个代码块使用修饰符标记时,C# 允许在函数中使用指针变量。或非托管代码是指使用了变量的代码块。转载 2022-11-14 11:08:52 · 97 阅读 · 0 评论 -
C# 反射
反射指程序可以访问、检测和修改它本身状态或行为的一种能力。程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。转载 2022-11-14 11:05:46 · 174 阅读 · 0 评论 -
【Lua与C#交互①】Lua中的栈
之所以要学习Lua和C#交互,是为了让我们更好的掌握Lua,从而不停留在只会用轮子的阶段。而Dispose方法是在另一个线程里跑的,所有实现了IDisposable的类所占用的内存在GC后不会立刻回收,而是等全部Dispose方法调用完之后回收。Dispose() 里面的代码需要考虑是否被多次调用,如果你在其它地方也调用类的Dispose() 的话,比如 OnDestroy() 等等。这个就用到了之前说的,1代表栈底,因为我们只有一个数据,显然栈底就是我们想要的。,其它Lua也会有类似的接口可以调用。转载 2022-10-13 00:55:15 · 221 阅读 · 0 评论 -
C#&Lua 过滤筛选脏字
他写的是C#版本我们项目要用所以翻译成了Lua版本。最下面是C#代码 我也拷贝过来了。原创 2022-10-09 11:40:14 · 247 阅读 · 0 评论 -
Unity Vector3类型的函数参数设置默认值
可以设置为如下代码即可。原创 2022-10-04 23:57:10 · 1625 阅读 · 0 评论 -
c#中使用Zlib压缩与解压的方法
近期用c#开发一个游戏的存档编辑工具需要用 Zlib 标准的 Deflate 算法对数据进行解压。 在 StackOverflow 上逛了一圈,发现 c# 比较常用到的方式是微软提供的 System.IO.Compression, zlib.net, 以及 ICSharpCode 的SharpZipLib。我简单的测试和包装了一下,便在这里分享一下成果以及我个人的看法。通常来说,使用c#开发时能用微软官方提供的工具就尽量用,一个是bug会比较少,维护会比较稳定。此外,官方提供的方案往往在优化上也会高于第三方转载 2022-07-03 21:30:46 · 2519 阅读 · 0 评论 -
C# string.Replace(oldValue,newValue) 不起作用
为了去掉"abcdefg"中间的c问题所在就是s= s.replace("","");需要一个变量在接受他的返回值看API:注意:含有特殊字符的字符串用 string的replace 也会无效,如:"@,#,$,%,^,&,*,?" 等转载 2022-06-22 10:47:14 · 793 阅读 · 0 评论 -
C#如何通过反射获取方法以及动态调用方法
假设我们现在有下面这个类TestClassnamespace TestSpace{ public class TestClass { private string _value; public TestClass() { } public TestClass(string value) { _value = value; } public string Get.转载 2021-09-18 17:28:36 · 1850 阅读 · 0 评论 -
unity 3D 如何获取距离最近的对象
在这里要运用数组,数列list与字典dictionary相结合。 private GameObject[] targetArr; private List<float> KnifeList; private Dictionary<float, GameObject> knifeDic; void Start() { knifeDic = new Dictionary<float, GameObject>();//初始化转载 2020-10-15 15:15:42 · 1267 阅读 · 0 评论 -
Unity 手机切出后台 倒计时不受影响
using UnityEngine;public class OnApplicationManager : Manager{ //计算出玩家后台运行时间 float gameHTtime = 0; //玩家切后台的运行时间 float startHTtime = 0; //倒计时的显示停止期限 下线 保留致少是2 这样可以在倒计时玩家切回来倒计时的循环中--致少会在循环两边 这样使得循环方法中的更新相关数据!!! int DtimeNum = 2; /// <summary&g转载 2020-10-15 15:11:29 · 939 阅读 · 2 评论 -
Unity Spine播放动画、动画播放结束回调、停止播放
using LuaInterface;using Spine.Unity;using static Spine.AnimationState;namespace LuaFramework{ public class SpineAnimManager : Manager { private TrackEntryDelegate ac = null; /// <summary> /// 播放动画 /// <原创 2020-10-15 15:00:22 · 14258 阅读 · 1 评论 -
Unity 将C#list和dic转换为LuaTable
function UIUtils.DicToTable(CSharpDic) --将C#的Dic转成Lua的Table local dic = {} if CSharpDic then local iter = CSharpDic:GetEnumerator() while iter:MoveNext() do local k = iter.Current.Key local v = iter.Curre转载 2020-10-14 10:36:21 · 832 阅读 · 1 评论 -
Unity 相机跟随人物的几种方式
相机跟随一般写在生命周期LateUpdate中1、最简单,无代码,固定距离,固定视角最简单的就是直接把主相机作为Player角色的子物体,并自行固定好相机的位置和角度优点:使用方便缺点:使用不灵活,相机转动死板,体验不好,相机瞬间移动位置2、代码控制,固定距离,固定视角,对1进行改进设置一个空的GameObject,并且与Player的旋转和位置保持一致,然后将 主相机 设置成该GameObject的子对象。这种做法和方案1相似。usingUnityEngine;/...转载 2020-09-10 14:48:50 · 10853 阅读 · 5 评论 -
C# 使用For循环遍历字典的键值对
Dictionary<int, int> dic = new Dictionary<int, int>(); dic.Add(1, 2); for (int i = 0; i < dic.Count; i++) { KeyValuePair<int, int> kv = dic.ElementAt(i); int key = kv.Key; int...原创 2020-08-25 10:39:12 · 7563 阅读 · 0 评论