- 博客(113)
- 收藏
- 关注
原创 元组(C# 7)——详解
C#中的元组(Tuple)是一种轻量级数据结构,用于将多个不同类型的元素组合成一个整体,特别适用于临时数据分组或需要返回多个值的方法。注:C# 7的元组功能(如匿名元组、命名元组和解构)底层由泛型结构体实现。若需在旧版本(如 .NET Framework 4.6.2 或更早)中使用,需通过 NuGet 安装包。在 .NET Framework 4.7中,system.ValueTuple已经包含在mscorlib.dll中了。
2025-03-08 18:04:18
707
原创 C#导出dataGridView数据
在Visual Studio中,通过NuGet包管理器安装。:无需安装Microsoft Excel,支持。:无需依赖库,但格式简单。
2025-02-22 17:46:07
290
原创 了解ffmpeg,安装并配置环境变量
FFmpeg 是一个功能强大的开源多媒体框架,能够处理音视频的录制、转换和流媒体传输。它由 Fabrice Bellard 发起,采用 LGPL/GPL 许可证,广泛应用于各种平台,包括 Linux、Windows 和 macOS。
2025-02-20 19:08:48
820
原创 Js的回调函数
回调函数(Callback Function)是指一个函数被作为参数传递给另一个函数,并在特定事件发生或操作完成时执行。可以通俗地理解为一种“委托”机制。在JavaScript中,回调函数的应用非常广泛,例如:异步操作:如定时器、AJAX请求等。数组方法:如map、filter、reduce等高阶函数。事件处理:如DOM事件监听。
2025-01-10 21:30:08
1120
原创 Vue3+Element给表单设置多个验证+规则Rules自定义
/ 修改出库单校验数量if (!value) {callback(new Error('请输入数量'));callback(new Error('请输入合法的数字'));callback(new Error('数量不能为0'));callback(new Error('数量不能大于最大可修改数量'));
2025-01-10 21:27:07
362
原创 C#使用SignalR实现与前端vue实时通信
首先确保项目中已安装 SignalR 相关包。SignalR 客户端库:安装 SignalR 客户端库。在 Startup.cs 文件中配置 SignalR。创建一个msgHub类来处理客户端的连接和消息传递。Vue.js:确保你有一个 Vue.js 项目。
2024-10-13 10:24:30
821
1
原创 Git常用方法——详解
3、将自己的项目+gitignore移动到第二步新生成的文件夹中(如果复制过来的项目中有.Git需要删除,否则会存在冲突,定位不到自己的仓库)2、复制克隆链接,在需要放项目的文件夹中(鼠标右键)Bash,输入git clone+链接,就会生成一个新的文件夹+.Git文件。4、使用vs打开项目,打开git更改,就会自动定位到自己的gitLab项目,可以直接提交推送。提交的时候点击的全部提交,此时并没有提交至远程,只是提交到本地仓库。在gitee或者gitLab或者gitHub上复制HTTPS链接。
2024-09-26 20:59:12
969
原创 Vue3使用hiprint——批次打印条码
创建了打印模板后,可以在Vue 组件中使用 Vue-Plugin-HiPrint 来触发打印操作。这会将 Vue-Plugin-HiPrint 注册为 Vue 插件,使其可用于您的整个应用程序。要开始使用 Vue-Plugin-HiPrint,首先需要安装它。解决方式:index.html中导入print-lock.css样式。解决方式:在main.js中添加disAutoConnect方法。建议:将json保存到数据库中,或者保存在字典数据中。样式文件,这个文件在。使用按钮触发打印事件。
2024-09-26 20:53:19
1138
原创 什么是依赖注入?
/ 定义一个接口ILogger// 定义一个依赖于 ILogger 的服务// 构造函数注入// 手动创建对象在这个例子中,Service 类依赖于 ILogger 接口。通过构造函数注入,Service 类获得了所需的 ILogger 实例。这样,Service 类不需要关心 ILogger 的具体实现细节,只要知道如何使用 ILogger 接口即可。其实,依赖注入是代替了new的过程。
2024-09-18 19:58:53
601
原创 [FromRoute][FromBody]等属性——详解
[FromRoute] :表示从 URL 路径中获取参数。[FromBody]:表示从请求体中获取参数。[FromQuery]:表示从查询字符串中获取参数。[FromFrom]:从表单中获取参数[FromHeader]:从Http请求头获取参数不加属性:默认情况下可以工作,前提是参数名称与示例请求字段名保存一致,可以省略不加属性。加属性:增加代码的明确性和可读性,特别适用于参数名称不一致的情况。
2024-09-05 18:10:23
1566
原创 SignalR——聊天室实践
SignalR是一个继承的客户端与服务器库,它基于浏览器的客户端和ASP.NET的服务器组件,允许进行双向多步对话。这种对话不受限制,可以进行单个无状态请求/响应数据交换,直到明确关闭。对话通过永久连接进行,使得客户端和服务器能够发送多个消息,并允许服务器做出相应答复。特别的是,SignalR还允许服务器向服务端发送异步消息,这与Ajax技术相似,都是基于现有的技术实现的。在实现客户端和服务端通信时,SignalR通常会使用JS的长轮询此外,随着WebSockets的出现,
2024-09-04 19:17:30
1766
原创 C#——扩展方法
扩展方法(Extension Methods)是C#中一种特殊的静态方法,它定义在一个静态类中,但是可以像实例方法一样被调用,使得代码更加简洁、易读。// 扩展方法,用于计算字符串中子串出现的次数return 0;在这个例子中,CountOccurrences 方法的第一个参数 source 是带有 this 关键字的,表示这个方法将扩展 string 类型。
2024-08-30 18:23:03
1180
原创 正则表达式——详解
正则表达式(Regular Expression,通常简写为 regex、regexp 或 RE)是一种强大的,用于描述一组字符串的模式。,几乎所有现代编程语言都支持正则表达式的使用,包括 Java 和 JavaScript (Vue.js 应用中的 JavaScript 代码)。在实际开发中,。
2024-08-21 18:19:42
19015
2
原创 SqlSugar详解-国产ORM框架
OrderBy(it=>it.Id,OrderByType.Desc )// 倒序.First(it => it.sex == 1) //没有返回Null。
2024-08-16 20:19:48
10919
原创 C#委托(入门)
泛型是对类型的抽象,所以结合到一起后,只有参数列表中个数不同。返回类型和参数列表(类型和个数)相同就是同一种委托。用Action和Func来代替定义委托类型。普通变量存的是数据,而委托实例存的是行为。泛型委托的种类只靠参数个数不同来区别。①定义一个委托类型, 如Help。③定义函数(与委托类型相匹配的)微软将委托和泛型结合到一起;②委托类型实例化为委托实例。④将函数交给委托实例使用。委托就是用来装函数的。
2024-08-16 20:06:48
478
原创 Html详解——Vue基础
是一种用来。网页内容可以是:一组段落、一个重点信息列表、也可以含有图片和数据表。正如标题所示,本文将对 HTML 及其功能做一个基本介绍。HTML 不是一门编程语言,而是一种用于定义内容结构的标记语言。
2024-08-07 22:13:00
1417
1
原创 Vue3与Vue2的主要区别
<div>简单属性</div><div><button @click="updateMsg">修改简单属性</button></div><div>对象属性</div><div><button @click="updateObjMsg">修改对象属性</button></div>
2024-08-07 20:39:27
1358
原创 使用CLI脚手架搭建Vue2项目
注:如果 文件夹【node_global】里没有出现 【node_modules】文件夹,则在【node_global】下手动创建一个【node_modules】文件夹,再复制你创建的【node_modules】文件夹的路径地址到变量值。①打开窗口:依次执行【此电脑】-->【右键】-->【属性】-->【高级系统设置】-->【高级】-->【环境变量】,打开环境变量设置窗口。打开文件夹【node_global】,查看是否有多出了一个【node_modules】文件夹。提示选择preset, 选择Vue2即可。
2024-07-31 21:26:18
997
原创 vite创建Vue2项目(配图详细)
Vite 默认支持 Vue 3,但你也可以使用 Vite 来搭建 Vue 2 的项目。不过,这需要一些额外的配置,因为 Vue 2 不支持原生的 ES 模块,而 Vite 是基于 ESM 的。
2024-07-31 21:25:15
3591
2
原创 java中BigDecimal用法详解
当使用 BigDecimal 进行算术运算时,总是使用 BigDecimal 提供的方法,而不是使用 +, -, *, / 这样的运算符,因为后者会尝试将 BigDecimal 转换为 double,从而可能引入精度损失。总之,虽然 double 类型在处理大多数浮点数运算时非常高效,但在需要高精度或严格数值比较的场景中,应谨慎使用。在一系列连续的计算中,每次计算产生的舍入误差可能会累积起来,导致最终结果与期望的精确值有较大的偏差。3、在可能的情况下,尽量减少连续的浮点数运算,以减少舍入误差的累积。
2024-07-30 18:31:06
728
原创 Vue前端页面嵌入mermaid图表--流程图
然而,<div>是一个块级元素,它默认不会保留空白字符和换行。这意味着当你在<div>中输入Mermaid语法时,所有的空格和换行会被浏览器忽略,从而破坏了Mermaid语法的结构,导致Mermaid无法正确解析和渲染图表。Mermaid未正确初始化:确保在你的Vue组件的mounted钩子中正确调用了Mermaid的初始化函数。<pre>标签和<div>标签在处理文本和布局上有着本质的区别,这可能是你遇到Mermaid在<div>中不起作用的原因之一。首先,你需要在你的项目中安装Mermaid。
2024-07-25 18:47:02
1553
原创 java中double类型1+1.82保留的很多小数如何处理
Java处理Double类型数据相加时,出现1+1.82=2.8200000000000003并存入数据库的情况。
2024-07-19 11:33:40
292
1
原创 JSON详解
JSON 和 XML 各有优势,选择哪种格式取决于具体的应用需求。如果需要在 Web 应用中快速传输数据,JSON 是更好的选择;如果需要高度结构化的数据格式和跨语言的兼容性,XML 可能更适合。
2024-07-14 14:35:12
4033
原创 LINQ详解
LINQ (Language Integrated Query) 是微软在 .NET Framework 3.5 中引入的一种功能,它允许开发人员使用类似于SQL的语法来查询内存中的数据集合。LINQ 不仅限于查询数据库,还可以用来查询任何数据源,包括 XML 文档、ADO.NET 数据集、对象集合等。LINQ 的主要优点在于其简洁的语法和与 C# 的深度集成,使得数据查询更加直观和高效。
2024-07-12 23:08:38
3124
原创 C# 项目拉完代码引用全是黄色感叹号的解决办法
右击解决方案资源管理器中项目,如MODEL -> 在文件资源管理器中打开文件夹 -> 找到.csproj文件 -> 用记事本或其他常用软件打开 -> 删除Target的标签 -> 全部重新加载即可。删掉后提示全部重新加载即可~
2024-07-12 22:42:04
1201
原创 DevExpress的gridControl应用
DevExpress中gridView、gridControl的应用,使用gridControl控件,设置数据源,设置只读模式进行数据展示,勾选多选框选择行数据进行其他操作。设置表格颜色,勾选多选框获取选中行数据等
2024-07-11 19:24:37
479
原创 slf4j日志框架和logback详解
SLF4J(Simple Logging Facade for Java)是一种日志框架的抽象层,它并不是一个具体的日志实现,而是一个接口或门面(Facade),旨在为各种不同的日志框架提供一个统一的API。Spring Boot 默认会包含这些依赖,但如果你使用的是自定义的配置或者老版本的 Spring Boot,你可能需要在 Maven 或 Gradle 的构建文件中手动添加它们。SLF4J设计时考虑到了性能因素,例如,它提供了条件日志记录功能,只有当日志级别被启用时,才会执行字符串拼接等昂贵的操作。
2024-07-10 19:23:38
1390
原创 【若依前后端分离】通过输入用户编号自动带出部门名称(部门树)
disabled="show" 的应用是为了控制 el-input 输入框的禁用状态。这里的 show 是一个布尔类型的变量,当它的值为 true 时,输入框将被禁用,用户无法在其中输入任何内容;v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门"/>这样的设计有助于提升用户体验,通过暂时禁用输入框来避免用户在数据加载过程中的误操作,并及时恢复功能,确保界面的交互流畅性。
2024-07-07 18:58:38
895
原创 process.env.VUE_APP_BASE_API
例如,你的API可能在开发环境指向本地服务器 (http://localhost:8080/api),而在生产环境指向远程服务器 (https://api.example.com)。在这些.env文件中,你可以通过 VUE_APP_BASE_API=http://your-api-url 的形式来设置VUE_APP_BASE_API的值。在Vue.js项目中,特别是使用Vue CLI进行配置的项目,process.env.VUE_APP_BASE_API 是一个。
2024-07-04 21:57:31
1879
原创 MyBatis中resultMap与resultType区别
适用范围resultType 适用于简单的查询结果映射,通常用于返回基本类型或简单对象。resultMap 适用于复杂的查询结果映射,能够处理复杂的映射需求,如多表关联查询、嵌套结果集等。配置方式resultType 直接指定Java类或基本类型的全限定名。resultMap 需要在MyBatis配置文件中定义具体的映射规则。灵活性resultType 相对简单,但灵活性较差,不支持复杂映射。resultMap 灵活性强,可以定义复杂的映射规则,但配置较为复杂。
2024-07-04 21:47:37
470
原创 数据库MyBatis传递数组或集合
其中,item="aid"表示每次循环中的单个元素,collection="aIds"指定了要迭代的参数名,与Java方法参数上的@Param注解值匹配。这个查询就会非常有用,它不仅能够跨表根据商品类别ID筛选出相关商品,还能计算出这些商品的库存总量,帮助你快速了解所关注商品类别的总体库存情况。假设你有两个表,一个是商品信息表(表1,例如商品类别信息),另一个是库存信息表(表2,记录每种商品的库存数量)。考虑性能问题,如果a_id列上有索引,这将显著加快查询速度,特别是当筛选的ID数量很大时。
2024-07-01 14:32:58
760
原创 数据库查询:通过两字段其中一个查询信息
综上所述,这段配置定义了一个查询操作,用于根据传入的flag字符串模糊搜索那些状态为0(假设0表示某种可用状态)且student_code与student_name组合起来包含该flag值的库存记录,并将查询结果映射到StudentResult定义的Java实体类上。resultMap="StudentResult":指定了查询结果映射到Java对象的方式,通过引用名为StudentResult的结果映射来处理查询结果,将数据库字段映射到Java对象的属性上。where子句:定义了查询的条件。
2024-07-01 14:04:06
656
原创 搜索框回车刷新表格(解决搜索框回车刷新页面问题)
表单默认提交行为:如果你的 <el-form> 或输入框 (<el-input>) 处于一个 HTML 表单 (<form>) 内,按下回车键可能会触发表单的默认提交行为,这会导致页面刷新。handleQuery 方法内逻辑:检查 handleQuery 方法内部是否有导致页面刷新的代码,比如使用了 location.reload() 或进行了路由跳转(this.$router.push 而没有正确处理)。这样修改后,按回车键时应仅执行 handleQuery 方法内的逻辑,而不会刷新整个页面。
2024-06-26 16:01:44
777
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人