刷新
C#对象的四种比较方式

博主头像 1.ReferenceEquals(object o1, object o2): 静态方法:比较两个对象的引用,引用相同返回true,否则返回false,同为null是返回true;ReferenceEquals进行值类型比较时总是返回false,因为两个值类型需要分别装箱到对象中,是不同的引用 ; ...

Revit 二次开发之 图纸的导出

博主头像 在Revit自带的导出功能中,我们可以知道,Revit可以导出如下格式文件: 他们分别对应的API在Document类下面,主要包含以下方法 1 Export(String, String, MassGBXMLExportOptions) 从体量模型文档中导出gbXML文件。 2 Export(St ...

如何使用C#中的Lambda表达式操作Redis Hash结构,简化缓存中对象属性的读写操作

博主头像 Redis是一个开源的、高性能的、基于内存的键值数据库,它支持多种数据结构,如字符串、列表、集合、散列、有序集合等。其中,Redis的散列(Hash)结构是一个常用的结构,今天跟大家分享一个我的日常操作,如何使用Redis的散列(Hash)结构来缓存和查询对象的属性值,以及如何用Lambda表达式树 ...

Button按钮:得到鼠标焦点后自动放大,失去鼠标焦点后自动缩小

博主头像 作用 程序设计过程中,我们经常需要增加一些动态效果,以此改善用户的使用体验。本文将介绍一种方法,动态显示按钮状态,使其得到鼠标焦点后自动放大,失去鼠标焦点后自动缩小。 效果图 先放一张原图(鼠标还未移动到按钮上): 获得鼠标焦点的Button按钮:(这里因为是图片,放大不明显,所以笔者将按钮字体也一 ...

特殊符号引发的bug,C#去除不可作为文件名的特殊符号

博主头像 **背景** 前段时间小编开发了一个控制台程序,把数据库中的数据取出来按照编码名称分别存储文件,存储文件之前检查是否存在当前文件,如果存在删除。开始小批量的数据还挺顺利的,当批量执行问题就来了,每次执行到一半时,创建的文件不增加反而变少了,经过日志捕捉才发现是字段里包含特殊符号惹的祸。小编是按照字段 ...

记一次 .NET 某游戏服务后端 内存暴涨分析

博主头像 ## 一:背景 ### 1. 讲故事 前几天有位朋友找到我,说他们公司的后端服务内存暴涨,而且CPU的一个核也被打满,让我帮忙看下怎么回事,一般来说内存暴涨的问题都比较好解决,就让朋友抓一个 dump 丢过来,接下来我们用 WinDbg 一探究竟。 ## 二:WinDbg 分析 ### 1. 到底是 ...

编码技巧 --- 同步锁对象的选定

博主头像 ## 引言 在C#中,让线程同步有两种方式: - 锁(lock、Monitor) - 信号量(EventWaitHandle、Semaphore、Mutex) 线程锁的原理,就是锁住一个资源,使得应用程序在此刻只有一个线程访问该资源。通俗地讲,就是让多线程变成单线程。在C#中,可以将被锁定的资源理解 ...

编码技巧 --- 如何实现字符串运算表达式的计算

博主头像 ## 引言 最近做一个配置的功能,需求是该配置项跟另一个整形配置项关联,具有一定的函数关系,例如有一个配置项是值为 `N` ,则另一配置 `F` 项满足函数关系$F=2/(N+1)$。这个函数关系是客户手动输入,只需要简单的四则运算,所以我们要做的就是判断四则运算表达式是否有效,且给定 `N` 的值 ...

C#调用外部接口(POST、GET)

博主头像 在C#中调用StringBoot接口,POST请求,案例代码: public string HttpPost() { //把用户传过来的数据转成“UTF-8”的字节流Encoding encoding = Encoding.UTF8;//创建一个HTTP请求HttpWebRequest reques ...

C#对象映射器Mapster

博主头像 1.前言 在开发中,我们经常用到对象之间的映射。谈到对象映射器,我们比较熟知的肯定是AutoMapper,但很少人会知道Mapster。今天在这里我们一起探讨一下什么是Mapster?为什么有了AutoMapper映射器了,还要学习使用Mapster? 2.什么是Mapster? Mapster是一 ...

Unity UGUI的Mask(遮罩)组件的介绍及使用

博主头像 # Unity UGUI的Mask(遮罩)组件的介绍及使用 ## 1. 什么是Mask组件? Mask(遮罩)组件是Unity UGUI中的一个重要组件,用于限制子对象的可见区域。通过设置遮罩组件,可以实现一些特殊效果,如显示部分图片、裁剪文本等。 ## 2. Mask组件的工作原理 Mask组件通 ...

Unity的OnOpenAsset:深入解析与实用案例

博主头像 # Unity OnOpenAsset 在Unity中,OnOpenAsset是一个非常有用的回调函数,它可以在用户双击资源文件时自动打开一个编辑器窗口。这个回调函数可以用于自定义资源编辑,提高工作效率。本文将介绍OnOpenAsset的使用方法,并提供三个使用例子。 ## OnOpenAsset的 ...

C#中数组参数=out参数?

博主头像 ## - 结论 先上结论,答案是yes,C#中数组确实具有out参数的特性。 ## - 疑问 最近开发一个上位机的功能,有段代码看得我一直很迷糊,我的认识,函数的执行结果,要么在函数中通过return返回,要么通过out或ref参数返回。这段代码中明显没有通过return获取返回值,输入参数倒是看起 ...

Unity中的RegisterPlugins:深入解析与实用案例

博主头像 # Unity中的RegisterPlugins:深入解析与实用案例 在Unity游戏开发中,我们经常需要使用第三方插件来实现一些特定的功能。为了让这些插件能够在Unity中正常工作,我们需要对它们进行注册。本文将详细介绍Unity中的`RegisterPlugins`方法,并通过三个实用案例来展示 ...

Unity UGUI的Text(文本)组件的介绍及使用

博主头像 # UGUI的Text(文本)组件的介绍及使用 ## 什么是UGUI的Text(文本)组件? UGUI(Unity Graphic User Interface)是Unity引擎的一套用户界面系统,而Text(文本)组件是UGUI中用于在游戏界面中显示文本的组件。该组件可以用于显示游戏中的文字、数字 ...

Unity中的PostProcessScene:深入解析与实用案例

博主头像 # Unity中的PostProcessScene:深入解析与实用案例 在Unity游戏开发中,我们经常需要对场景进行后处理,以实现更丰富的视觉效果。Unity提供了一个名为`PostProcessScene`的功能,可以让我们在场景加载完成后,对场景进行一系列的处理。本文将详细介绍`PostPro ...

如何洞察 .NET程序 非托管句柄泄露

博主头像 ## 一:背景 ### 1. 讲故事 很多朋友可能会有疑问,C# 是一门托管语言,怎么可能会有非托管句柄泄露呢? 其实一旦 C# 程序与 C++ 语言交互之后,往往就会被后者拖入非托管泥潭,让我们这些调试者被迫探究 `非托管领域问题`。 ## 二:非托管句柄泄露 ### 1. 测试案例 为了方便讲述 ...

Unity UGUI的所有组件的介绍及使用

博主头像 # Unity UGUI的所有组件的介绍及使用 本文将介绍Unity UGUI中的各个组件,包括它们的具体介绍、用途 ## 1. Text(文本) - 介绍:Text组件用于在UI界面上显示文本内容。 - 用途:常用于显示UI界面的标题、按钮标签、提示信息等。 ## 2. Image(图片) - 介 ...