c#
DAGUNIANGZHOU
保持热爱,奔赴山海
展开
-
[C#]KeyValuePair 和 Dictionary 的关系
a、Dictionary 可以简单的看作是KeyValuePair 的集合;b、KeyValuePair 只包含一个Key、Value的键值对。b、Dictionary 可以包含多个Key、Value的键值对。a、KeyValuePair 是一个结构体(struct);KeyValuePair 和 Dictionary 的关系。原创 2023-06-30 10:48:44 · 940 阅读 · 0 评论 -
[Unity]红点系统
参考大佬的lua 版本。原创 2023-06-20 18:59:47 · 714 阅读 · 0 评论 -
[C#]IDisposable
但某些情况下,比如当我们使用非托管资源时,垃圾回收机制无法自动管理这些资源,需要手动实现Dispose方法来释放它们。在该类的实例不再需要时,可以调用Dispose方法手动释放类型持有的资源,如打开的文件、数据库连接、网络连接等。在C#中,继承IDisposable接口的主要作用是在使用一些需要释放资源的对象时,可以显式地管理和释放这些资源,以避免内存泄漏和其他潜在问题。通过以上步骤,我们可以使用IDisposable接口来手动管理资源的释放,避免内存泄漏和其他潜在问题并增加程序的稳定性。原创 2023-04-14 11:13:11 · 1322 阅读 · 0 评论 -
ProtoBuf序列化和反序列化方法
【代码】ProtoBuf序列化和反序列化方法。原创 2023-03-23 16:07:40 · 563 阅读 · 0 评论 -
[c#]&、&&、|、||的区别
如果第一个操作数计算结果为false,第二个运算符确定或表达式整体是否计算结果为 true 或 false。对于整型,& 计算操作数的逻辑按位“与”。如果 x是 false, y 不会计算,因为,和操作的结果是 false ,无论 y 的值为什么。条件“与”运算符 (&&) 执行其 bool 操作数的逻辑“与”运算,但仅在必要时才计算第二个操作数。如果 x 是 true,y 不会计算无论 y,的值,因为或操作是 true。& 计算操作数的逻辑“与”;1.& 运算符计算两个运算符,与第一个操作数的值无关。原创 2023-03-21 11:16:31 · 1338 阅读 · 0 评论 -
【C#】SynchronizationContext线程上下文简单说明
Post() 是在线程池上去调用委托来实现(异步调用)。这是子线程会从线程池中找一个线程去调UI线程,子线程不等待UI线程的完成而直接执行自己下面的代码。Send() 是简单的在当前线程上去调用委托来实现(同步调用)。也就是在子线程上直接调用UI线程执行,等UI线程执行完成后子线程才继续执行。SynchronizationContext在通讯中充当传输者的角色,实现功能就是一个线程和另外一个线程的通讯。Send是在当前线程执行的(同步)Post是在新的线程执行的(异步)原创 2023-03-15 15:46:05 · 458 阅读 · 0 评论 -
【C#】静态扩展方法
3.扩展方法所在的类必须在使用它的类可见范围内,否则需使用using指令将命名空间显示导入到当前源代码中;6.其他命名空间下的扩展方法优先级低于当前命名空间下的扩展方法的优先级,优先级最高为实例方法。2.扩展方法的第一个参数以this修饰符为前缀,后跟要扩展的目标类型及参数;2.必须直接继承System.Object类型,不能试任何其他类的派生类;5.如果扩展方法和被扩展类中某个签名相同,则扩展方法永远不会被调用;4.扩展方法只能针对实例调用,也就是说,目标类不能为静态类;1.特殊的静态方法位于静态类中;原创 2023-02-15 16:54:22 · 959 阅读 · 0 评论 -
Unity自带VideoPlayer播放视频总是闪上一个视频的画面的问题
主要因为用RenderTexture取渲染播放的,当视频播放完成之后,会在将最后一帧的画面定格在RenderTexture上。在播放之前或者播放完之后,释放RenderTexture上的资源,调用方法。原创 2023-02-03 15:52:12 · 971 阅读 · 0 评论 -
string.IsNullOrEmpty和string.IsNullOrWhiteSpace的区别
string.IsNullOrWhiteSpace方法的性能要高,所以建议使用此方法,最后决定以后判断字符串为空都用这个方法了。结论:string.IsNullOrEmpty方法无法判断空字符串和带有换行符的字符串,所以string.IsNullOrWhiteSpace方法的功能要更完善。string.IsNullOrEmpty和string.IsNullOrWhiteSpace。本人一直使用的是string.IsNullOrEmpty方法来判断字符串是否为空.原创 2022-12-26 10:32:35 · 822 阅读 · 0 评论 -
[c#]?的用法
【代码】[c#]?的用法。原创 2022-12-08 14:49:34 · 110 阅读 · 0 评论 -
【C#的Enum中Flags的用法】
.NET中的枚举我们一般有两种用法,一是表示唯一的元素序列,例如一周里的各天;还有就是用来表示多种复合的状态。这个时候一般需要为枚举加上[Flags]特性标记为位域,例如:这样我们就可以用"或"运算符组合多个状态,例如原创 2022-06-01 14:11:03 · 856 阅读 · 0 评论 -
[c#]反射
using System;using System.Reflection;namespace 反射{ /// <summary> /// /// 反射基本信息: /// exe/dll 主要区别就是EXE文件有入口,---metadata 元数据(描述exe/dll 文件的 一个数据清单)--反射 (Reflection)用来操作元数 /// 【1】更新程序时(更新自己的DLL) /// 【2】使用别人的DLL 文件(这种可以读取别人.原创 2022-04-29 10:31:04 · 95 阅读 · 0 评论 -
[C#]泛型
using System;namespace 泛型{ /// <summary> /// 泛型约束 /// </summary> /// 1. new() 表示T类型只接收带一个无参数的构造函数new T() /// 2. struct 值类型约束 结构体 int double bool 和枚举 /// 3. class 引用类型约束 数组,字符串,类,接口,委托 object /// 4. 自定义约束 .原创 2022-04-28 15:51:33 · 59 阅读 · 0 评论