自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学习之路,创业之光

学习之路,艰难沉重也要慢慢走

  • 博客(42)
  • 资源 (3)
  • 收藏
  • 关注

原创 编写干净的C#代码技巧

在这种情况下,当资源的位置发生变化时,必须更新所有这些神奇的字符串,否则应用程序将中断。相反,您可以做的是创建一个共享库项目,并在每个必需的项目中引用它。而且,如果需要进行任何修改,您只需要更改共享库中的代码,而不是在任何地方更改。Visual Studio使它变得更加容易,只要在相关的方法上面输入///,VS就会自动为您生成一个包含方法参数的注释模板。在这样的函数执行期间,对于最终用户来说,整个应用程序似乎是冻结的。基本上,变量的第一个单词的第一个字母将是小写的,后面每一个单词的第一个字母应该是大写的。

2024-10-25 16:02:39 664

原创 在 ASP.NET Core 6/NET 8.0 如何添加 Startup.cs

使用ASP.NET Core 6.0项目,您将找不到Startup.cs文件。默认情况下,此文件将被删除,并且是将注册依赖项和中间件放到了Program.cs中。但是,如果您是Startup.cs的粉丝或将项目升级到ASP.NET Core 6.0,你可能仍想要使用Startup.cs文件。因此,在这篇文章中,让我们将了解如何在ASP.NET Core 6项目中添加Startup.cs

2024-10-16 11:48:52 1383

原创 WPF字符串资源中包括换行符的方法

WPF字符串资源中包括换行符的方法

2024-10-11 09:36:46 196

原创 解决Nodify框架因自带放大缩小、平移功能导致拖拽添加的控件无法准确在鼠标放下的位置显示控件

解决Nodify框架因自带放大缩小、平移功能导致拖拽添加的控件无法准确在鼠标放下的位置显示控件p = new Point(Math.Round((p.X - editor.ViewportTransform.Value.OffsetX) / scale,0), Math.Round((p.Y - editor.ViewportTransform.Value.OffsetY) / scale,0));

2024-09-24 17:20:03 300

原创 Git的介绍及使用命令

工作中必备的12个Git命令,包括创建和初始化仓库、克隆远程仓库、添加和提交文件、查看状态和历史记录、创建和切换分支、合并分支以及推送和拉取远程仓库等操作。掌握这些命令可以帮助你进行基本的版本控制和团队协作。在日常使用中,熟练掌握这些命令将提高你的Git工作效率。

2024-09-18 14:24:04 932

原创 布局容器Grid、StackPanel、GroupBox、DockPanel、WrapPanel

布局容器Grid、StackPanel、GroupBox、DockPanel、WrapPanel

2024-08-29 14:00:21 426

转载 wpf中Interaction.Behaviors详解

这三步中前面几步都是添加Interactions库的支持,对于后面介绍的Trigger和Action也是一样的,只有<ei:MouseDragElementBehavior/>一句才是和Behavior相关的。加上MouseDragElementBehavior后,我们的控件就支持鼠标拖拽移动了,非常给力。在WPF 4.0中,引入了一个比较实用的库——Interactions,这个库主要是通过附加属性来对UI控件注入一些新的功能,除了内置了一系列比较好用的功能外,还提供了比较良好的扩展接口。

2024-08-29 13:57:49 211

原创 C#中lock(this)与lock(private object)区别

在使用多线程编程时,我们会对代码关键部分确保其一次只由一个线程执行,对于防止争用条件和保持数据完整性至关重要。在C#中,lock 语句就是用于通过同步对共享资源的访问来实现此目的工具。本文介绍lock(this)与两种方法及区别。

2024-08-29 10:01:26 682

原创 C# 图片处理 - 图片水印

在图像处理中,图片水印是一种常见的技术,它可以在图像上添加文本或图形,用于标识、保护或美化图像。在本文中,我们将介绍如何使用 C# 来实现图片水印,包括常用的属性和方法,以及一些示例代码。

2024-08-28 09:45:19 486

原创 人工智能时代,程序员如何保持核心竞争力?

随着AI辅助编程工具如ChatGPT、MidJourney、Claude等大语言模型的兴起,程序员的工作环境正经历一场深刻的变革。这些工具不仅能够自动生成代码片段,提供即时的代码建议,还能协助进行代码审查和优化,甚至在一定程度上参与软件开发的全过程。这种趋势引发了广泛的讨论,一方面有人担忧AI会取代程序员的部分工作,另一方面也有人看到了AI作为高效助手的潜力。面对这一变革,程序员如何保持和提升自身的核心竞争力成为了一个重要议题。

2024-08-09 14:00:03 308

原创 C#代码重构:提升代码质量的5个技巧

代码重构是每个开发者都应该掌握的重要技能。通过重构,我们可以在不改变代码外部行为的前提下,优化代码结构,提高可读性和可维护性。本文将介绍5个强大的C#重构技巧,帮助您将代码提升到一个新的水平。

2024-08-06 14:40:29 261

原创 C# WinForms 开发中防止同一应用运行多个实例

在开发WinForms应用程序时,有时需要防止同一个应用程序的多个实例同时运行。这种需求在某些情况下非常重要,例如,当你需要确保某个资源(如文件或数据库)只被一个应用实例访问时。本文将介绍几种防止同一应用运行多个实例的方法,提供详细的代码示例,并输出为 Markdown 格式。

2024-08-02 14:19:25 446

原创 避免在循环中调用数据库操作:提升C#程序性能的有效方法

其实最佳实践是用像SqlSugar这样的ORM类来搞。在开发C#应用程序时,特别是在处理大量数据时,不可避免地需要与数据库进行交互。然而,如果在循环中频繁进行数据库操作,会导致性能问题、增加数据库负担,甚至可能导致瓶颈。本文将探讨如何避免在循环中进行数据库操作,并提供详细的例子来说明这些方法。为什么要避免在循环中调用数据库操作?在循环中进行数据库操作会带来以下几个问题:性能问题:每一次数据库操作都会涉及网络通信、IO操作和数据库处理时间,频繁调用会大幅降低程序的性能。增加数据库负担:频繁的数据

2024-08-02 14:01:40 628

原创 解释 Git 的基本概念和使用方式。

推送(Push):推送操作用于将本地仓库的代码更新推送到远程仓库。远程仓库(Remote Repository):远程仓库是存储在云服务器或其他计算机上的Git仓库。当一个分支的开发完成后,可以将其合并到主线代码中以确保新功能或修复的问题可以与其他代码一起工作。当其他开发人员在远程仓库中提交了新的代码时,可以使用拉取操作将这些变更同步到本地仓库。提交(Commit):提交是将代码变更保存到Git仓库中的操作。仓库可以是本地仓库(存储在本地计算机上)或远程仓库(存储在服务器上)。

2024-08-02 10:35:40 286

原创 C#重要知识归纳总结

C#重要知识归纳总结

2024-08-01 09:44:16 1074

原创 WPF继承默认样式

WPF继承默认样式BasedOn="{StaticResource {x:Type Button}}"

2024-08-01 09:19:06 133

原创 导出隔行换色

tryi++)col++)row++)col++)elseelse。

2024-07-04 16:03:15 252

原创 抽象类与接口的区别

抽象类中的成员可以是私有的(只要它们不是抽象的),受保护的,内部的或者受保护的内部成员,但是接口中的成员必须是公共的(默认就是公共的)。它们的派生类只能继承一个基类(所谓的单继承,多接口继承),即:只能直接继承一个抽象类,但是可以继承任意多个接口。三:接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。抽象类中可以包含字段,构造函数,析构函数,静态成员等,接口中不可以。五:抽象类和接口都是用来抽象具体对象的,但是接口的抽象级别最高。四:接口是设计的结果,抽象类是重构的结果。

2023-07-01 11:30:32 335

原创 委托、事件、泛型、泛型委托

委托、事件、泛型、泛型委托总结

2023-07-01 11:13:52 692

原创 关于C#任务习题

答:AggregateException是一个异常集合,因为Task中可能抛出异常,所以我们需要新的类型来收集异常对象,处理异常时可采用AggregateException.Handle()方法,为AggregateException中的每个异常都指定一个要执行的表达式,Handle()方法的重要特点在于它是一个断言,针对Handle()委托成功处理的任何异常,断言应返回True,当任务执行过程中抛出了异常并未被处理时,任务的状态将从"Running"(运行中)转变为"Faulted"(故障)。

2023-06-30 18:52:38 286

原创 第一课 C#的基元类型

第一课 C#的基元类型

2023-05-20 15:31:34 148

原创 const、let、var

另一方面,window对象有实体含义,指的是浏览器的窗口对象,顶层对象是一个有实体含义的对象,也是不合适的。但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指向实际数据的指针,const只能保证这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就完全不能控制了。const 声明方式,除了具有 let 的上述特点外,其还具备一个特点,即 const 定义的变量,一旦定义后,就不能修改,即 const 声明的为常量。

2023-05-20 15:23:47 61

原创 C#高级教程

语法上没有任何错误,只不过在运行过程由于某些原因出现了问题。转义符\n:换行(苹果系统或者控制台)\t:制表\b:删除前面的字符(注意:放在字符串的两端没有效果\r\n:换行(win系统)\:表示一个\可以这样用@"F:\fjld\fd\a\q.txt"取消在字符串中的转义作用在声明变量的最前面加const属性的作用就是保护字段、对字段的赋值和取值进行限定。属性的本质就是两个方法,一个叫get()一个叫set()。1.抽象成员必须标记为abstract,并且不能有任何实现。

2023-05-06 15:29:47 2246 1

原创 线程打印,用户模式构造

【代码】线程打印,用户模式构造。

2023-04-23 19:20:11 89

原创 C#构造函数

C#中构造函数是在创建给定类型的对象时执行的类方法。构造函数具有与类相同的名称,它通常初始化新对象的数据成员。不带参数的构造函数称为“默认构造函数无论什么时候,只要使用new运算符实例化对象,并且不为 new 提供任何参数,就会调用默认构造函数。除非类是静态的,否则C#编译器将为无构造函数的类提供一个公共的默认构造函数,以便该类可以实例化。public 类名(){}构造函数可分为:实例构造函数,静态构造函数,私有构造函数(下面会详细介绍)

2023-04-23 19:16:22 5084 1

原创 C#忽略字符串大小写

C#忽略字符串大小写----StringComparison.CurrentCultureIgnoreCase

2022-12-01 14:44:56 3086

原创 C#基础语法---符号

符号:??名称:空合并运算符用于定义可空类型和引用类型的默认值。如果此运算符的左操作数不为null,则此运算符将返回左操作数,否则返回右操作数。

2022-12-01 14:42:02 560

原创 SQL面试题

sql查询最近3个月,有哪些客户下过单(so中的客户),列出客户的信用额度,支付方式,账号,ABN

2022-09-20 16:12:57 105

转载 slice()和splice()区别

slice()和splice()区别

2022-08-11 17:15:07 86

转载 break和continue的作用和区别是什么?

break和continue的作用和区别是什么?

2022-08-11 17:11:44 703

转载 [FromQuery]— .NET Core WEB API中接口参数的模型绑定的理解

[FromQuery]— .NET Core WEB API中接口参数的模型绑定的理解

2022-08-11 09:59:00 5926

转载 DBCHM最简单、最实用的数据库文档生成工具

DBCHM 是一款数据库文档生成工具! 该工具从最初支持chm文档格式开始,通过开源,集思广益,不断改进,又陆续支持word、excel、pdf、html、xml、markdown等文档格式的导出。

2022-08-05 16:13:44 1224 3

原创 SMT操作手册V1.0 模板

福尔达高新区SMT操作手册V1.0 模板

2022-07-20 10:01:30 689

原创 关于DDD框架的总结

关于DDD框架的知识(黄色部分为自己根据项目的理解分析)DDD(domain driven design领域驱动设计)框架包括User Interface(门面层)、application(应用层)、domain(业务领域层)、infrastructure(基础设施层)分类的依据是:越往上,预期变动越频繁;越往下,预期变动越少。ui(controller,Dto,handle,filter)->application(service,impl)->domain(service,impl)->infrastr

2022-06-29 13:27:59 604

原创 关于异步async await

前端async await 今日学习了async await异步调用方法,先单独分析async作为一个关键字放在函数的前面,表示该函数是一个异步函数,意味着该函数的执行不会阻塞后面代码的执行,异步函数的调用跟普通函数一样。async的内部实现原理就是如果该函数中有一个返回值,当调用该函数时,默认会在内部调用Promise.solve() 方法把它转化成一个Promise 对象作为返回,若函数内部抛出错误,则调用Promise.reject()返回一个Promise 对象。 再分析await即等待

2022-06-29 13:26:04 325

原创 c#猜拳游戏

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 猜拳游戏{ class Program { static void Main(string[] args) { //完成一个简单的儿时游戏-剪子包袱锤。提示玩家出拳,玩家出拳后,电脑.

2022-06-29 13:24:22 1267

原创 数据库高级题

练习题第一题、如下图所示:有学生表student(学号,姓名,出生日期,性别),课程表course(C_id表示课程号,c_name表示课程名字t_id表示老师编号),成绩表score(学号,课程号,成绩): 使用SQL语句为完成以下操作:1.用函数实现,查询"马"姓老师的数量select count(*)from studentwhere s_name like ‘马%’SELECT COUNT(*) FROM TEACHER WHERE TNAME LIKE '马%';select sc.s_id

2022-06-27 10:27:54 1127

原创 根据图片用Vue写项目

Home.vue<template> <div class="home"> <!-- <div class="og"> <div class="tou"> <img src="../assets/未标题-1.png" /> <img class="i2" src="../assets/btn_home_caogen.png" /> </di...

2021-04-15 09:47:10 865

原创 layui帮助文档

----------------------------------表格显示图片------------------------------------------------------需要在表格页面,</head>前面添加的CSS样式代码如下<style>.layui-table-cell{height:auto!important;}.layui-tableimg{max-width:100%;}</style>...

2021-04-15 08:24:34 1660

原创 猜拳游戏

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 猜拳游戏{ class Program { static void Main(string[] args) { //完成一个简单的儿时游戏-剪子包袱锤。提示玩家出拳,玩家出拳后,电脑.

2021-04-15 08:19:07 95

Vue使用方法和基础知识了解学习

Vue使用方法和基础知识了解学习 Vue (读音 /vjuː/,类似于 view ) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。 安装 直接引入 直接下载并用 <script> 标签引入, Vue 会被注册为一个全局变量。 下载本地(就是一个js文件),直接通过标签引入页面中 通过在线地址直接使用 起步 创建一个 Vue 实例 每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的: 当创建一个 Vue 实例时,你可以传入一个选项对象。 数据与方法 当一个 Vue 实例被创建时,它将 data 对象中的所有的属性加入到 Vue 的响应式系统中。当 这些属性的值发生改变时,视图将会产生“响应”,即匹配更新为新的值 // 我们的数据对象 var data = { a: 1 } // 该对象被加入到一个 Vue 实例中 var vm = new Vue({ data: data }) // 获得这个实例上的属性 // 返回源数据中对应的字段 vm.a == data.a // => true // 设置属性也会影响到

2024-08-02

.net专业学习面试题部分内容

面试题部分内容

2021-04-15

SQL数据库高级学习记录笔记

数据库高级笔记

2021-04-15

.net专业数据库的面试题sql

sqlserver

2021-04-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除