自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 收藏
  • 关注

转载 使用foreach需要实现什么接口和方法

通过实现这些接口或方法,你的对象即可支持。在 C# 中,若要使一个类的对象能够被。

2025-04-14 18:49:00 44

原创 C# string和其他引用类型的区别

在C#中,字符串(String)和其他引用类型(Reference Types)之间有几个关键的区别,这些区别主要体现在它们的内存管理、赋值行为以及使用方式上。即使a和b看起来引用相同的字符串文字,它们实际上指向的是两个不同的对象(除非使用了String.Intern方法或字符串字面量特性使得它们指向同一个对象)。字符串(String):由于字符串的不可变性,当你对一个字符串变量进行赋值时,实际上是在堆上创建了一个新的字符串对象,并将这个新对象的引用赋给变量。此时,obj1和obj2都引用同一个对象。

2025-04-14 17:34:25 330

原创 C#集合List<T>与HashSet<T>的区别

这是因为哈希表通过计算元素的哈希码直接定位到存储位置,除非存在哈希冲突(即不同的元素有相同的哈希码),此时可能需要通过链表或树来解决冲突,但这通常不会影响整体的查找性能。选择List还是HashSet取决于你的具体需求,比如是否需要保持元素的顺序、是否需要快速查找、添加和删除操作、以及是否允许元素重复等。对于查找操作,List必须遍历整个列表来找到匹配的元素,这意味着查找的时间复杂度是O(n),其中n是列表中元素的数量。顺序和唯一性:List保持元素的插入顺序,而HashSet不保证元素的顺序。

2025-04-14 17:27:36 505

原创 c# 委托和事件的区别及联系,Action<T1,T2>与Func<T1,T2>的区别

它的签名是TResult Func<T1, T2>(T1 arg1, T2 arg2),表示这个委托可以指向接受两个参数并返回一个结果的方法。它的签名是void Action<T1, T2>(T1 arg1, T2 arg2),表示这个委托可以指向接受两个参数且没有返回值的方法。‌Action<T1,T2>与‌Func<T1,T2>的主要区别在于它们所指向的方法是否有返回值。‌Action<T1,T2>‌用于指向那些没有返回值的方法,而‌Func<T1,T2>‌用于指向那些有返回值的方法。

2025-04-14 16:53:18 382

原创 c# AI编程助手 — Fitten Code

更重要的是,在实现了高速度和高准确度的基础上,它还提供了广泛的功能,如自动代码补全、通过自然语言生成代码、自动化注释、智能Bug识别、代码解释和自动化生成单元测试等功能。使用也非常简单,以VS Code、Visual Studio(版本要求2022版17.8.5及以上)和JetBrains系列IDE为例,直接在对应的IDE插件市场搜索"Fitten Code", 下载安装即可。另外对于IDE的版本要求:VS Code版本要求在1.68及以上,JetBirain系列IDE版本要求在2021.1即以上。

2025-04-14 16:24:48 517

原创 c# 反射及优缺点

在C#中,反射(Reflection)是一种强大的机制,允许程序在运行时检查其自身的结构(如类型、属性、方法等),以及动态地调用对象的方法或访问其属性。反射主要用于那些在编译时不知道具体类型信息,或者需要在运行时根据某些条件改变程序行为的场景。

2025-04-14 16:07:49 485

原创 .NET Core DI(依赖注入)的生命周期及应用场景

在.NET中,依赖注入(DI,Dependency Injection)是一种设计模式,它通过将依赖关系注入到类中,而不是让类自己创建依赖项,来降低类之间的耦合度。在.NET中,有多种方式可以实现依赖注入,包括使用内置的.NET Core内置的依赖注入系统、第三方库如Autofac、Ninject等。在.NET Core中,你可以在Startup.cs文件的ConfigureServices方法中配置依赖注入。:在请求的生命周期内(例如,一个HTTP请求),每个作用域内创建一个实例。

2025-04-14 15:48:40 561

原创 c#内存泄露的原因和解决办法

使用内存分析工具:利用如 Visual Studio 的内存分析工具(例如 ANTS Memory Profiler 或 JetBrains dotMemory)来检测和诊断内存泄漏。通过上述方法,可以有效地减少或避免 C# 应用程序中的内存泄漏问题,从而保证应用程序的稳定性和性能。代码审查和单元测试:定期进行代码审查和编写单元测试,以识别和修复潜在的内存泄漏问题。更新和维护第三方库:确保使用的第三方库和框架是最新版本,并且没有已知的内存泄漏问题。

2025-04-14 15:40:03 389

原创 阿里云消息队列RocketMQ ( TCP商业版协议 .NET SDK)实例

最近在使用阿里云的消息队列做和第三方对接的处理阿里云消息队列的官方文档 地址如下:阿里云消息队列官方帮助文档去该地址下载阿里云提供的sdk 阿里云tcp协议 .net sdk下载后解压:这几个引用需要注意:实际上所需要的就是这个文件夹下面的类和上面的四个引用:该类下的代码是阿里给出的示例:下面贴出我封装好的示例:基础类:namespace RocketMQCore{ public class RocketMQConfig { public Rock

2021-02-20 13:40:00 1105 1

原创 C# Mstsc远程桌面控件AxMsRdpClientNotSafeForScripting使用示例

Visual Studio 2019 新建一个Windows窗体项目,打开菜单"工具->选择工具箱项",选择COM组件"Microsoft RDP Client Control -version 9":从工具箱中将Microsoft RDP Client Control -version 9组件拖到窗体(也可不拖可参考下面的代码),编写如下代码:private void Form1_Load(object sender, EventArgs e){ //不拖控件也可以直

2020-12-11 17:56:47 5446 4

原创 SQL DATENAME(month,getdate())返回的数据为英文日期及把日期转为字符去比较的性能问题

最近 和一个同事一同开发一个电商项目 项目收尾写报表的时候 队友可把我坑惨了首先是SQL SERVER DATENAME()这个方法的坑再次是一个日期的性能问题1.DATENAME(month,getdate())在数据库脚本运行环境为中文的时候返回01、02的数据,运行环境为英文的时候返回may这样的英文日期缩写报表按月查询 界面大概就长这个样子传去存储的参数:@time=‘202005’既然只说时间的问题定义一个订单表Orders如下:CREATE TABLE [dbo].[Ord.

2020-06-11 18:36:15 3909

原创 Dapper -- 调用存储过程

只带输入参数存储过程的使用CREATE PROCEDURE [dbo].[QueryMember] @MemberId varchar(50)='',@Name varchar(50)=''ASBEGIN SELECT * FROM Member where MemberID=@MemberId and Name=@Name;ENDpublic void UseStore...

2019-11-29 14:34:50 2655

转载 什么情况下需要实现IDisposeable接口?

1.前言对.NET/C#稍有了解的同学,都应该知道IDispose模式的存在,但不知道有多少同学能彻彻底底地理解这种模式。楼主本人初识IDispose模式也有很长时间了,但对其设计原理和初衷也一直是云里雾里。直到这两天终于下定决心想彻底理解其工作模式,上网翻阅了不少资料,才算有所领悟,特别是StackOverFlow上的这篇文章:https://stackoverflow.com/questio...

2019-11-25 11:03:51 683

原创 EasyUI DataGrid 增加求和行(求本页数据的和及所有页数据的和)

分两种情况:一种是当前页的列求和一种是所有页的列求和效果大概如下:先说第一种:当前页的列求和代码如下:(本段代码复制于博客:EasyUI datagrid表数据某列总和)<table id="dg"></table><script> $(function () { $('#dg').datagrid({ ...

2019-09-27 18:20:10 1360

原创 动态加载省市区

数据库表结构:SQL语句:CREATE TABLE [Cascade](ID int,Name nvarchar(50),ParentID int,[Type] int)//aspx代码<script type="text/javascript"> var Province =<%=GetProvince()%>;</script&g...

2019-09-24 11:09:19 531

原创 程序员必读经典书籍(附下载链接)

这些书的链接资源都是我自己找的 然后下下来 保存在百度网盘 分享给你们的 (感谢网上无私奉献资源的前辈们 哈哈~) 有些没有书签 有些排版不是很好 有些字体不是很清晰 大家将就着看吧 当然 也可以自己去下载更好的...

2019-09-19 11:24:19 6195 2

转载 免费的天气API接口

网上几乎所有的天气接口都需要注册key,然后还各种频率限制,每天调用次数才几百次? 太坑爹了吧一个简单的天气预报功能, 为什么要搞的这么复杂, 收什么费?推荐一个真正免费的天气API接口, 返回json, jsonp格式没有调用次数、频率和IP限制,并且提供 7日天气 / 15日天气 / 40日天气 /...

2019-09-17 11:43:59 1583 2

转载 为什么百度查到的ip和ipconfig查到的不一样;详解公网Ip和私网ip;详解网络分类ABC;

IP可以分为Public IP 和 Private IP,出现这种规划的原因在于IPv4所能表示的IP太少而电脑太多以至于不够用,然而只有Public IP才能直接连接上网络,所以对于那些公司,学校,政府机构等场所,就可以集中使用私有的IP进行管理,而大家可以共用一个IP去连接上公网,这样,就省下了许多宝贵的Public IP。你有没有发现,你每次使用ipconfi...

2019-09-16 18:34:20 431

原创 SqlSever中Where子句后进行条件判断

我看到的一个方法是这样的:两段代码如下://这段代码会报错where case when (@a = null) then 1 = 1 else @a=aand b=@b//这样写是正确的where(1 = (CASE WHEN @a IS NULL THEN 1 ELSE 0 END)OR a=@a )AND b=@b附上原文如下:sqlser...

2019-09-16 18:26:32 11252

转载 从浏览器输入URL到页面展示出来,中间发生了什么?

前言这应该算是一个很经典的面试题了,前端工程师,后端工程师,包括网络工程师都有可能被问到。开放度很高,每个人都可以针对自己熟悉的部分,进行深入的讲解。总体来说,分为如下几个部分1.DNS解析2.建立TCP连接,发送HTTP请求3.服务端处理请求并返回HTTP响应4.浏览器解析渲染页面5.关闭连接DNS解析DNS解析就是获取服务器IP地址的过程。互联网上每一台计算机的唯一标识是它...

2019-09-16 17:50:41 527

原创 数据库多表联查(左连接查询)

现有三张数据表如下:ApplyProcessModule(模块表) ApplyProcessTemplate(模板表) ApplyProcessStepConfigInfo(流程步骤表) 表关系如下:流程步骤表的流程模板Id=模板表模板id流程步骤表的模块id=模块表模块id流程步骤表的下一步骤ID=模块表模块id数据库代码如下:select *f...

2019-09-16 17:35:30 6572

原创 VS2015崩溃问题:devenv.exe[5736]中发生未处理的Microsoft .NET Framework异常

打开vs就是这个样子 随便找的一张图片试了一些方法:比如:1、管理员启动cmd,cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE2、输入 Devenv.exe /ResetSettingsC:\Program Files (x86)\Microsoft Visual Studio 14.0\Comm...

2019-09-11 16:47:40 8113

原创 EasyUI Datebox只显示到年月不显示日

在网上找了一些借鉴 改了一些代码 效果如下:两边的datebox都只显示到年月 不显示日代码如下://aspx代码<input id="txtStartTime" type="text" class="easyui-datebox" style="width: 150px;"><input id="txtEndTime" type="text" class="...

2019-09-11 15:59:42 800

原创 sql 按月查询数据 不允许跨年

大概日期框这个样子 查询时 不可跨年 只能按月查sql代码如下:DECLARE @startTime datetime=null --搜索的开始时间DECLARE @endTime datetime=null --搜索的结束时间--以o.FinishTime为基准select @endtime=dateadd(day,1,@endtime)--时间不为空且查询结束时间...

2019-08-29 17:06:11 842

原创 SqlSever常用的函数方法

前言:以前那家公司用linq查询比较多很少用到sql拼接 sql水平一直也就那样 后来的这家公司业务基本写在存储过程中 所以开始写sql的漫漫长路查询表注释/查询年月--查询表注释Select sc.NAME,dc.ColumnName_Cn,t.name as ColumnType,t.length as ColumnWidth,case when sc.isnullable=1 TH...

2019-08-29 16:53:30 352

转载 这几道Redis面试题都不懂,你还想拿offer?

随着系统访问量的提高,复杂度的提升,响应性能成为一个重点的关注点。而缓存的使用成为一个重点。redis 作为缓存中间件的一个佼佼者,成为了面试必问项目。本文分享一下Redis几道常见的面试题:缓存雪崩1.1什么是缓存雪崩?如果我们的缓存挂掉了,这意味着我们的全部请求都跑去数据库了。 我们...

2019-08-12 10:45:24 275

转载 微信小程序开发-基础

微信小程序开发-基础 1.小程序环境搭建账号注册百度搜索 “微信公众平台”官网地址: https://mp.wei...

2019-08-12 10:37:29 437

原创 TFS更新工作区绑定的计算机名

TFS工作区绑定计算机的查询命令:tf workspaces更改TFS本地的工作区绑定计算机名称的方法:开始菜单-运行-输入vs-打开vs开发人员命令提示然后输入:tf workspaces /collection:http://192.168.1.236:8080/tfs/tc /updateComputerName:原先之前计算机的名称比如:tf workspaces /colle...

2019-08-12 10:09:07 624

原创 .NET 解决压缩图片后压缩图片体积比原图片大的问题

遇到一个问题:压缩后的图片的体积反而比原来的图片的体积更大了。花费两天时间排查。终于找到了原因。下面附上解决办法:压缩图片的代码如下:/// <summary> /// 为图片生成缩略图 /// </summary> /// <param name="phyPath">原图片的路径</param> /// <param na...

2019-08-08 16:15:24 945

原创 面试攻略(.NET相关)

数据结构和算法数据结构数据结构之线性表和单链表数据结构之循环链表数据结构之双向链表数据结构之栈和队列数据结构之树和二叉树数据结构之图堆和栈的区别算法排序算法回溯算法贪心算法动态规划算法分支限界算法分治算法设计模式设计模式HTTP部分POST、GET的区别HTTP协议加密部分通俗理解数字签名,数字证书和httpsC#开发中常用加密解密方法解析WebAp...

2019-06-21 16:45:43 672

原创 面试攻略(数据库相关)

数据库方面:数据库性能优化一、 减少数据访问(减少磁盘访问)1. 创建并使用正确的索引(索引相当于一本字典的目录)2. 只通过索引访问数据3. 优化SQL执行计划二、 返回更少数据(减少网络传输或磁盘访问)1. 数据分页处理(客户端分页、服务器端分页、数据库分页)2. 只返回需要的字段三...

2019-06-21 09:45:28 375

原创 C# 实现AES加密解密

看AES加密过程和原理可以看这篇博客:AES加密过程详解下面写一下具体的实现代码:AES加密: /// <summary> /// 加密 /// </summary>/// <returns></returns>private string EncryptAES(string data) { var aes = new A...

2019-06-11 14:56:15 1241

转载 C#进阶系列——WebApi 接口参数不再困惑:传参详解

看了一篇WebApi传参数写的很不错的博文 虽然很基础但是很实用 是在忍不住心痒痒 转载一波原文地址如下:C#进阶系列——WebApi 接口参数不再困惑:传参详解阅读目录一、get请求1、基础类型参数2、实体作为参数3、数组作为参数4、“怪异”的get请求二、post请求1、基础类型参数2、实体作为参数3、数组作为参数4、后台发送请求参数的传递三、put请求1、基础类型参数2、实体作为参数3、...

2019-05-22 11:02:59 464

原创 使用Auto.js实现蚂蚁森林自动收取能量

var myEnergeType=["绿色能量","线下支付","行走","共享单车","地铁购票","网络购票","网购火车票","生活缴费","ETC缴费","电子发票","绿色办公","咸鱼交易","预约挂号"];var morningTime="07:15";//自己运动能量生成时间unlock();unlock("1414");//里面是你的锁屏密码sleep(1000);ma...

2019-05-17 09:10:10 6130 3

转载 c#获取当前日期时间以及格式化操作

我们可以通过使用DataTime这个类来获取当前的时间。通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04)、时间(12:12:12)、日期+时间(2008-09-0412:11:10)等。//获取日期+时间DateTime.Now.ToString();        &nbsp...

2019-04-09 14:03:49 1871

转载 一个HTTP打趴80%面试者

来自微信公众号:码上实战面试一年多,每当我问起面试者对HTTP的了解时,个个回答令我瞠目结舌,这些开发者都有3-5年的经验。请不要让我叫你野生程序员,是时候了解HTTP了,让我们当个正规军。起因面试官:请问你了解HTTP协议吗?前端开发:这不是应该后端清楚的吗?后端开发:这不是前端知道的吗?面试官:……我们先一本正经的来了解下HTTP(不包含传输层TCP),然后总结其中的精华回复...

2019-03-29 08:59:40 276

转载 99%的人都理解错了HTTP中GET与POST的区别

GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。...

2019-03-18 11:21:11 383

原创 EasyUI DataGrid 初始化不加载数据

EasyUI DataGrid 初始化不加载数据,下面有两种方法可参考。重新加载datagrid url,代码如下:$('#dg').datagrid({ title: &amp;quot;合同交互&amp;quot;, fit: true, queryParams: { BeginTime: $('#date_beginTime').datetimebox(&amp;quot;getVal...

2019-01-31 17:00:19 5957

原创 多条sql语句带条件查询拼接

public ActionResult GetApplyDetailInfos(string applyId){ var AccountId = &quot;&quot;; var ApplysData = $&quot;select* from Applys where Id = '{applyId}'&quot;; using (var dbContext = new DBContext()) ...

2019-01-11 17:47:31 1005

原创 C# 实现键值映射

键值对是在开发过程中常常遇到的。键值对的映射也比较常用:比如说,某金融公司和银行方进行接口的对接时,双方银行编码不同,比如我方农业银行编码是ACDC,第三方是ABC时,通过得到第三方的银行编码实现我方的业务流程需求时,常常用到这种映射。实现类似需求的处理方法:使用HashMap和Hashtable映射 public static Hashtable YiqiandaiBankMapped...

2019-01-10 09:18:10 1446

空空如也

空空如也

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

TA关注的人

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