- 博客(20)
- 收藏
- 关注
原创 C# 之 String.Format详解
有兴趣的同学可以去看官方文档String.Format Method (System) | Microsoft Docs本文仅对官方文档中的内容进行提炼和总结功能描述:把一些对象(Object)的值转化为字符串,并按照formats里的格式塞到另外一个字符串里函数重载:public static string Format(IFormatProvider provider, string format, object arg0)public static string Forma..
2022-05-02 14:00:05 23701
原创 如何创建VisualStudio2022离线安装包?
Create an offline installation - Visual Studio (Windows) | Microsoft Docs参考官方文档
2022-02-12 17:42:47 1372
原创 C# 之 如何理解“装箱”和“拆箱”
CLR支持两种类型:引用类型 和 值类型(本文假设读者已了解这两种类型),其中值类型相对引用类型更“轻”一些,主要是因为,值类型不作为对象在托管堆中分配,不被垃圾回收,也不通过指针进行引用。但是许多时候需要获取值类型的引用,例如在ArrayList中保存一些值类型的结构体数据,其实就是把这些结构体数据“装箱”成object,然后使用的时候便需要拆箱,即将object拆开成目标结构体。装箱其实就是一个把值类型转为引用类型存储的过程。拆箱的代价比装箱低得多,拆箱就是获取指针的过程,该指针指向包含在一个对
2021-07-27 16:47:58 450
原创 C# 之 垃圾回收机制
编程语言中的“垃圾”是指那些没有用的对象,如果不销毁便始终占用内存,造成内存泄漏,传统的C++语言因为没有自动垃圾回收的机制,所以需要程序员手动控制内存的分配和释放,一不小心就可能造成一些非常难以排查的问题,C++中实现了一种称为“引用计数”的方法(智能指针)来跟踪一个对象,被多少个其他对象引用了,如果引用计数为0则表示需要回收了,然而,这种引用计数的方式有一个缺点就是在处理循环引用的时候不是特别好C++中采用了WeakPtr来解决循环引用的问题。在C#里,因为其内部自动垃圾回收机制,极大限度的
2021-07-27 16:17:33 1336
原创 CSharp 之 Attribute
前言本篇文章旨在认识C# 中的特性,知道什么是特性,特性的作用,如何使用特性,如何自定义特性什么是特性特性即Attribute,可以宣告式地为自己的代码添加注解来实现某些特殊的功能。 它们的把一些附加的信息同目标关联起来,这个目标可以是类,可以是方法,可以是枚举,等等。编译器检查到代码中的特性后,会为其生成对应的元数据。在.Net的类库中提供了非常多的特性例如比较常见的[DllImport] 、[Serializable] 、[StructLayout] 如何使用...
2021-07-27 13:21:15 431
原创 刨根系列 之 Unity3D UGUI 背后的工作原理
目录前言1. 处理玩家输入EventSystem的作用2.封装处理结果3.传递包装好的数据(BaseEventData)4.响应玩家输入前言在Unity场景中创建一个Canvas,可以发现,编辑器自动为我们创建了一个叫EventSystem的东西,我们可以发现这个EventSystem中默认包含两个组件:EventSystem和StandaloneInputModule,你可能想知道这两个东西是干啥的?没有它们不行么?它们工作的原理是什么?为什么点击一个...
2021-07-22 18:23:04 1885 3
原创 使用Lua实现快速排序算法
快速排序算法是一种十分常用的排序算法,时间复杂度为f(nlogn)下面给出如何在Lua中实现快速排序的代码:local list = {6,1,2,7,9,3,4,5,10,8}local quicksortfunction quicksort(left, right) if left > right then return end local i = left local j = right local guard = list[left] while i ~= j
2021-06-17 11:33:55 554
原创 Unity Animation Layers
在Unity3d的AnimatorController中,使用Layers来实现对复杂动画的控制,例如身体的不同部位的独立控制(下半身行走跳跃,上半身攻击投掷),你可以在AnimatorController的左上角选中Layers,然后管理你的动画层选中某一层,然后点击齿轮图标可以打开设置窗口,可以来调整该动画层的权重等属性。在每一层你都可以给其指定一个AvatarMask和混合模式(Override意味着来自其他层的信息将会被忽略,Additive意味着这一层的动画数据将会被叠加在上一层的上面
2020-09-04 14:24:15 1293
原创 使用VisualStudio开发 如何屏蔽控制台黑窗
在使用visualstudio开发qt程序的时候,遇到了如下问题:即控制台黑窗和QT窗口同时存在。我可以通过设置链接器中的子系统修改为未设置即可:再次运行就不会出现黑色的控制台窗口了。
2020-08-07 16:44:08 2145
原创 命令行访问被动模式FTP服务器失败,425 Failed to establish connection
前提:已经搭建好了一个FTP服务器,FTP服务器也已经被设置为被动模式打开Windows命令行窗口,输入ftp,使用ftp相关指令连接ftp服务器,发现可以连接成功,但是当使用‘ls’或‘dir’命令时报如下错误:200 PORT command successful. Consider using PASV.425 Failed to establish connection看到网上有一种说法是可以输入quotePASV,测试了一下并没有什么卵用看到stackoverflow上面.
2020-06-22 17:07:04 5225
原创 Lua之table.sort()按字段优先级排序
table.sort (table [, comp])按给定顺序从table [1]到table [n]对表元素进行排序,其中n是表的长度。comp是可选参数,这是一个排序函数,如果给定了的话,那排序将会按照排序函数里的规则进行排序。此order函数接收两个参数,并且如果第一个参数应在排序数组中排在首位,则必须返回true。如果未提供此功能,则sort使用默认的小于运算(对应于'<'运算符)。...
2020-05-19 11:37:31 1611
原创 VisualStudio Qt开发环境搭建以及Qt moc的讲解
目录前言搭建QT开发环境准备工作新建工程工程配置代码实验Q_OBJECTMeta-Object SystemMOC (Meta-Object Compiler)VisualStudio相关设置前言最近在使用VisualStudio搭建Qt开发的时候遇到了一些问题,故写此文章记录一下解决问题的过程。问题主要有以下几点:1.如何在VisualStud...
2019-12-15 02:08:15 2645
原创 Unity3d中如何让子类继承父类的Inspector显示效果
有时候为了让脚本在监视面板的显示更加简洁美观,我们会使用CustomEditor来定制化Inspector。只需要将CustomEditor的第二个参数设置为true,子类就可以继承我们为父类定制的Inspector了。如下图所示:
2017-10-21 15:36:51 5176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人