![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
小夜
记录一个从实习生到工作的一些经历
展开
-
GetSection获取 appsetting 内的信息
appsetting 获取内容转载 2023-02-21 09:30:39 · 274 阅读 · 1 评论 -
C# Aspose 去除水印 亲测有效!!!(有效测试时间:20220806)
C# Aspose 去除水印 亲测有效原创 2022-08-06 16:02:58 · 5618 阅读 · 23 评论 -
C# 20220328 Attribute IsDefined
2022-03-28今天梳理一下 如何判断一个类中 是否已经使用了某个 [Attribute]为了符合“公共语言规范(CLS)”的要求,所有的自定义的Attribute都必须继承System.Attribute。在.NET 4.0(当然也包括4.0以前的版本)下,用反射判断某个方法是否运用了自定义Attribute时,可以通过调用MethodInfo的IsDefined()方法进行确认。当然,IsDefined()方法事实上定义在MethodInfo的父类MemberInfo中,但它仅仅被定义为抽象方原创 2022-03-28 21:52:43 · 406 阅读 · 0 评论 -
C# List 交集 并集 差集 (可对比是否有重复)
Intersect 交集,Except 差集,Union 并集int[] oldArray = { 1, 2, 3, 4, 5 };int[] newArray = { 2, 4, 5, 7, 8, 9 };var jiaoJi = oldArray.Intersect(newArray).ToList();//2,4,5 交集var oldChaJi = oldArray.Except(newArray).ToList();//1,3 差集var newChaJi = newArray.Exce原创 2022-03-25 14:39:46 · 396 阅读 · 0 评论 -
C# null值使用ToString 报错处理
报错如下:Object reference not set to an instance of an object.原由:获取到的Value为Null代码又是这样的string test = null.ToString();这样是有问题的哦处理办法:Convert.ToString(null)测试代码1;static void Main(string[] args){ string msg = null; Console.WriteLine(Convert.ToString(m原创 2022-03-25 13:51:23 · 4644 阅读 · 4 评论 -
C# 2022-03-22 C#中Func与Action的理解
首先Func<> 和 Action<> 都是委托!!!委托:顾名思义, 委托办理,委托一个方法去处理我的东西,然后得到我要的结果(Func<>),或者不要结果,仅仅是去处理(Action<>)详细解释:Action 与 Func是.NET类库中增加的内置委托,以便更加简洁方便的使用委托。最初使用委托时,均需要先定义委托类型,然后定义一个符合委托类型签名的函数,在调用前,需声明并创建委托对象,将指定函数与委托进行关联。如例1:public del原创 2022-03-22 21:10:59 · 836 阅读 · 0 评论 -
C# Dictionary 键值对 赋值方式
传统:方法一Dictionary<int,int> dic = new();dic.add(1,2)以上添加的时候,如果dic对象内,存在键为1的会报错,所以有了一下的语法优化方法二:dic[1] = 2;如果存在键为1的情况下,会更新,没有就新增方法二优于方法一!...原创 2022-03-22 16:01:49 · 3816 阅读 · 0 评论 -
在进程里关闭explorer.exe 之后界面消失解决办法
Ctrl+ Shift+Esc调出任务管理器,文件-新建任务-浏览 找到c:\windows\explorer.exe然后确定就可以了原创 2022-03-08 15:10:36 · 2625 阅读 · 0 评论 -
C#虚方法(Virtual)简单理解
//可以运行一下试试~你就会明白using System;using System.Collections.Generic;using System.Text;namespace test{ class Program { static void Main(string[] args) { FlowB flowB = new FlowB(); flowB.Run(); //复用了Flow的流程...原创 2022-02-10 13:39:53 · 349 阅读 · 0 评论 -
C#参数列表中的this(扩展方法)
例子: public static string NoHTML(this string Htmlstring) { xxx }使用:string test = "123"; test.NoHTML();参数列表中this的这种用法是在.NET 3.0之后新增的一种特性—扩展方法。通过这个属性可以让程序员在现有的类型上添加扩展方法(无需创建新的派生类型、重新编译或者以其他方式修改原始类型)。扩展方法是一种特殊的静态方法,虽然是静态方法,但是可以像使原创 2022-02-10 11:15:22 · 155 阅读 · 0 评论 -
C# 枚举获取Descrption
为什么要这样:枚举不能直接 7B195988-4489-EC11-80EF-C2916A009EE3 = 1 这样写,所以只能加上[Description("7B195988-4489-EC11-80EF-C2916A009EE3 ")]然后去获取这个描述如何获取处理:// 枚举public enum enumStudent{ [Description("性别")] sex = 0, [Description("年龄")] age = 1,} // 获取原创 2022-02-09 19:26:41 · 489 阅读 · 0 评论 -
Worke Service 错误 1053: 服务没有及时响应启动或控制请求
本地测试:无问题服务器测试: 错误 1053: 服务没有及时响应启动或控制请求。(推荐)解决步骤方法 :1、Program.cs2、安装对应的.NET环境,譬如:就需要安装.net 5.0的sdk(官网去下对应的版本就行)如果除此之外还是1053,自求多福吧,也没找到别的方法...原创 2021-12-30 08:47:26 · 1581 阅读 · 0 评论 -
c# .gitignore 忽略不必要的文件,并处理不生效的问题
## Ignore Visual Studio temporary files, build results, and## files generated by popular Visual Studio add-ons.# User-specific files*.suo*.user*.userosscache*.sln.docstates# User-specific files (MonoDevelop/Xamarin Studio)*.userprefs# Build res原创 2021-12-21 14:07:01 · 1171 阅读 · 0 评论 -
C# 继承某个类时,构造方法提示:未提供必须形参对应的实参怎样解决
产生原因:原因的是因为子类在实例化时,会调用父类的构造方法。父类有一个默认的构造方法无参构造方法,重写了父类的构造方法会覆盖掉默认的构造方法。调用的是需要参数的构造方法,需要传值给它.使用base关键字。即重新构造了方法,原构造函数所需要的参数并没有传递需要的实参,导致错误文章链接:https://blog.csdn.net/qq_38061677/article/details/81021646...转载 2021-10-26 10:28:01 · 1891 阅读 · 0 评论 -
C# 依赖注入:简单理解
基本思想是,当一个对象需要其他对象来完成它的工作(例如,数据库连接)时,而不是在内部创建该对象,而是将该对象"注入"到该对象中,通常作为构造函数参数,或者由在使用该对象之前设置的公共属性进行。这样做的好处是可以从外部更改所用对象的值(如果对象声明为接口,则这一点尤其正确)。这种方法的一个常见用途是用单元测试的模拟对象替换具体对象。...原创 2021-09-17 10:50:13 · 1196 阅读 · 0 评论 -
C# 依赖注入:AddTransient、AddScoped、AddSingleton的理解
区别:AddTransient: 每次service请求都是获得不同的实例,暂时性模式:暂时性对象始终不同,无论是不是同一个请求(同一个请求里的不同服务)同一个客户端,每次都是创建新的实例AddScoped: 对于同一个请求返回同一个实例,不同的请求返回不同的实例,作用域模式:作用域对象在一个客户端请求中是相同的,但在多个客户端请求中是不同的AddSingleton: 每次都是获得同一个实例, 单一实例模式:单一实例对象对每个对象和每个请求都是相同的,可以说是不同客户端不同请求都是相同的说明:Ad原创 2021-09-17 10:06:39 · 14513 阅读 · 1 评论 -
C# 随笔:List<>内的ForEach
foreach 和 ForEach 内 return的含义并不相同:前者是结束循环,后者结束本次循环跳转下一个(后者仅支持retutn)理解:List.ForEach()方法的参数是一个Action的委托,而 Action委托是没有返回值的,所以当我们在使用ForEach()方法的时候可以理解为每次循环都在调用一个void方法,而当我们再循环的方法里使用return 的时候其实就是直接结束掉这个方法,执行集合中的下一个元素;而foreach循环说到底是写在方法内部的一个循环体,所以当我们调用return的原创 2021-09-16 10:38:44 · 2087 阅读 · 0 评论 -
C# 随笔:对象后面跟个?
例子:client?.fCaption表示:如果该对象不为空就取fCaption的值,可以理解为 ??,或者三元。很好用的一种使用默认值还是传入值的写法原创 2021-09-16 10:28:23 · 502 阅读 · 0 评论 -
C# 播放声音(适用于控制台应用程序、WinForm)
1、引用命名空间:using System.Runtime.InteropServices;2、创建类: 加入以下代码块 [DllImport("winmm.dll")] public static extern long PlaySound(String fileName, long a, long b);3、使用:类名+方法名,默认a,b为0即可MusicPlayer.PlaySound(@"E:\newOrder.wav", 0, 0);总结:相比于使用DirectX、原创 2021-09-14 09:21:48 · 1360 阅读 · 0 评论 -
EF更新数据库,如何检查异常
异常处理:DbUpdateException可以方便的查看数据更新及其他操作是出现的异常原创 2021-09-10 13:36:52 · 202 阅读 · 0 评论 -
IIS 网站更新小tip(防止前端出现404,以503返回)
之前在更新IIS接口的时候,总是需要手动关闭站点,要不然会一直出现“该文件被占用”,但是这样也就造成了,前端访问接口就会404的不友好的提示。因此,这里给出一种解决方案你需要准备这三个文件:1:存放更新内容的文件夹 2:app_offline.htm (里面不需要任何内容,该文件就是起到拦截的作用) 3:一个bat (批处理)bat代码(bat文件若闪退,请务必重新更新,知道末尾行出现successful字样):`@echo offcopy /y C:\website\app_offline.h原创 2021-07-30 09:01:52 · 268 阅读 · 0 评论 -
基础连接已经关闭: 发送时发生错误。 ---> System.IO.IOException: 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接
问题描述文本 **************System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.Net.WebException: 基础连接已经关闭: 发送时发生错误。 ---> System.IO.IOException: 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。 ---> System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接原创 2021-07-26 14:47:16 · 11783 阅读 · 3 评论 -
C#清空StringBuilder的三种方法
1、Remove例:StringBuilder val = new StringBuilder();val.Append("…");val.Remove(0,val.Length);//清空2、ReplaceStringBuilder val = new StringBuilder();val.Append("…");val.Replace(val.ToString(), “”);//清空3、LengthStringBuilder val = new StringBuilder();v原创 2021-07-02 09:47:24 · 1451 阅读 · 1 评论