C#
文章平均质量分 81
SQWH_SSGS
这个作者很懒,什么都没留下…
展开
-
委托(C#入门详解学习笔记)
委托(delegate)可以理解为是C/C++中函数指针的”升级版“。委托是一种类(class),类是数据类型,所以委托也是一种数据类型。类可以声明变量、创建实例,所以委托也可以。委托的声明格式与C#中一般的类的声明格式不同,反而更像是C/C++中函数指针的声明格式。这样做主要是为了照顾可读性,并与C/C++传统保持一致。原创 2023-02-22 22:25:28 · 569 阅读 · 0 评论 -
EF Core 学习笔记
EF Core 学习笔记EF Core 学习笔记准备工作如何使用 EF Core 生成数据库设置字段属性实体间的对应关系1:n 关系m:n 关系1:1 关系数据库操作添加、查询单条数据添加批量数据库操作插入两个不同表的数据查询能完成查询的方法查询使用参数的区别模糊查询的两种方法生成 SQL 语句的顺序修改、删除删除数据修改数据更改未追踪数据添加关系型数据对比加载关联数据预加载显式加载懒加载多个多关联数据查询修改关联数据修改关联数据设置多对多关系删除多对多关系修改多对多关系设置一对一的关系执行原生的 SQL数原创 2020-12-30 00:03:37 · 608 阅读 · 0 评论 -
C#学习——LINQ
C#学习——LINQC#学习——LINQ查询表达式LINQ 理论LINQ 与 SQL 的区别与联系LINQ 分类LINQ 查询的四个要素LINQ 初级实例协变与逆变LINQ 综合实例学习资料来源于B站up主花千芳的视频:https://www.bilibili.com/video/BV1xJ411g7HmC#学习——LINQ查询表达式查询表达式必须以 from 字句开头,以 select 或 group 字句结束。第一个 from 子句和最后一个 select 子句或group 子句之间,可以包含一原创 2020-12-07 00:41:15 · 321 阅读 · 0 评论 -
ASP.NET Core 3.x 学习笔记(10)——部署
ASP.NET Core 3.x 学习笔记(10)——部署ASP.NET Core 3.x 学习笔记(10)——部署FDD,Framework-dependentSCD,Self-containedFDE,Framework-dependent executables发布流程ASP.NET Core 3.x 学习笔记(10)——部署.NET Core 部署类型(方式)FDD,Framework-dependentSCD,Self-containedFDE,Framework-dependent原创 2020-12-06 14:09:17 · 117 阅读 · 0 评论 -
ASP.NET Core 3.x 学习笔记(7)——Blazor
ASP.NET Core 3.x 学习笔记(7)——BlazorASP.NET Core 3.x 学习笔记(7)——Blazor编程模式对比Blazor客户端宿主模型Mono服务器端宿主模型从 Empty 模板开始建立一个 Blazor 项目本系列学习笔记均来源于B站UP主”软件工艺师“的学习视频,学习连接如下:https://www.bilibili.com/video/BV1c441167KQASP.NET Core 3.x 学习笔记(7)——Blazor编程模式对比MVCSPA(Sing原创 2020-12-06 00:35:14 · 570 阅读 · 0 评论 -
ASP.NET Core 3.x 学习笔记(6)——SignalR
ASP.NET Core 3.x 学习笔记(6)——SignalRASP.NET Core 3.x 学习笔记(6)——SignalR什么是实时 webSignalR “底层”技术Polling(轮询)Long PollingServer Sent Events(SSE)Web SocketWeb Socket 的生命周期HTTP 握手消息类型SignalR 概念学习SiganlR 回落机制RPCHub横向负载使用 SignalR具体通信逻辑,后续加强学习后分析本系列学习笔记均来源于B站UP主”软件工艺师“原创 2020-11-26 00:08:24 · 311 阅读 · 0 评论 -
ASP.NET Core 3.x 学习笔记(5)——Razor Page
本系列学习笔记均来源于B站UP主”软件工艺师“的学习视频,学习连接如下:https://www.bilibili.com/video/BV1c441167KQASP.NET Core 3.x 学习笔记(5)——Razor PageRazor PageMVC,实现如下三个分层:Model:数据View:HTML、Razor、TagHelpersControllers:逻辑Razor Page,将下列三个部分同意:数据Html、Razor、TagHelpers逻辑Razo原创 2020-11-23 21:27:18 · 550 阅读 · 0 评论 -
ASP.NET Core 3.x 学习笔记(4)——View Component
本系列学习笔记均来源于B站UP主”软件工艺师“的学习视频,学习连接如下:https://www.bilibili.com/video/BV1c441167KQASP.NET Core 3.x 学习笔记(4)——View Component紧接前面文章的内容,建立一个复用的控件,在项目的每个页面都显示公司的总人数和部门的平均人数。这时候就需要使用到 View Component。View Component为什么使用其它方式不可行?为什么 Partial View 不行?因为没法添加业务逻辑;原创 2020-11-23 07:26:05 · 172 阅读 · 0 评论 -
ASP.NET Core 3.x 学习笔记(3)——配置信息的使用
ASP.NET Core 3.x 学习笔记(3)——配置信息的使用ASP.NET Core 3.x 学习笔记(3)——配置信息的使用ASP.NET Core 的配置信息ASP.NET Core 的配置信息源使用配置信息实现字体加粗通过 appsettings.json 实现自定义配置信息源的 json 文件本系列学习笔记均来源于B站UP主”软件工艺师“的学习视频,学习连接如下:https://www.bilibili.com/video/BV1c441167KQASP.NET Core 3.x 学习笔原创 2020-11-22 12:18:50 · 230 阅读 · 0 评论 -
ASP.NET Core 3.x 学习笔记(2)——一个简单的 MVC 项目学习
ASP.NET Core 3.x 学习笔记(2)——一个简单的 MVC 项目学习ASP.NET Core 3.x 学习笔记(2)——一个简单的 MVC 项目学习MVC 相关技术ModelsServicesControllersViewsDepartmentEmployeeASP.NET Core 3.x 学习笔记(2)——一个简单的 MVC 项目学习本系列学习笔记均来源于B站UP主”软件工艺师“的学习视频,学习连接如下:https://www.bilibili.com/video/BV1c441167原创 2020-11-21 18:47:19 · 368 阅读 · 0 评论 -
ASP.NET Core 3.x 学习笔记(1)——从项目结构了解依赖注入、管道、路由
ASP.NET Core 3.x 学习笔记(一)——从项目结构了解依赖注入、管道、路由ASP.NET Core 3.0 学习笔记项目结构Program.csStartup.cs在 ASP.NET Core MVC 中简单实现项目启动环境变量静态文件包管理静态文件合并依赖注入 DI(Dependency Injection)DI 的优点ASP.NET Core 管道(pipeline)配置中间件路由ASP.NET Core 应用的多样性端点 endpointASP.NET Core 3.0 学习笔记项目结原创 2020-11-17 21:08:37 · 421 阅读 · 0 评论 -
C#异步编程案例学习——异步加载大资源文件 2 之 多线程加载
本文具体根据异步加载大资源文件案例中的多线程变成学习C# 中 BeginInvoke 与 EndInvoke 的一个简单的使用案例在使用 WPF 开发桌面软件过程中,遇到一个需要预加载大量文件的需求,具体需求如下:在软件启动后,需要加载大量的 CAD 资源文件,文件供软件中后续使用。文件加载过程中非常耗时,若同步加载则界面会出现假死的状态。在文件加载过程中,需要保证界面仍然可以进行其他操作,屏蔽跟资源文件有关的操作。文件加载完成后,开放跟资源文件有关的操作。解决方案:在软件启动后,软件页原创 2020-11-12 14:22:03 · 903 阅读 · 0 评论 -
c#+handle.exe实现升级程序在运行时自动解除文件被占用的问题
参考文档:http://www.zuowenjun.cn/post/2016/09/05/243.html下载链接https://docs.microsoft.com/zh-cn/sysinternals/downloads/handle原创 2020-11-12 10:46:38 · 252 阅读 · 0 评论 -
C#异步编程案例学习——异步加载大资源文件1 之 使用 BeginInvoke 与 EndInvoke
在使用 WPF 开发桌面软件过程中,遇到一个需要预加载大量文件的需求,具体需求如下:在软件启动后,需要加载大量的 CAD 资源文件,文件供软件中后续使用。文件加载过程中非常耗时,若同步加载则界面会出现假死的状态。在文件加载过程中,需要保证界面仍然可以进行其他操作。解决方案:在软件启动后,软件页面正常完成加载后,后台继续进行异步加载资源文件,此时可操作正在加载的资源文件的按钮设置为不可操作。文件加载完成之后开发操作资源文件的按钮可操作。具体实现如下:1、WPF 页面 Window 中存在一个原创 2020-11-10 16:43:13 · 689 阅读 · 0 评论 -
C#异步编程学习笔记5 之 异步模式
C#异步编程学习笔记5 之 异步模式异步模式取消(cancellation)CancellationToken 和 CancellationTokenSourceDelay 方法同步方法其它进度报告IProgress\ 和 Progress\基于异步 Task 的模式(TA P)Task 组合器WhenAnyWhenAllWhenAll 异常实例自定义 Task 组合器异步模式取消(cancellation)取消,指的是在等待一个异步操作完成的时候,对异步操作进行取消。使用取消标志来实现对并发进原创 2020-11-10 01:07:05 · 315 阅读 · 0 评论 -
C#异步编程学习笔记3 之 异步原理
C#异步编程学习3 之 异步原理异步原理同步 vs 异步什么是异步编程异步编程的两种用途一点建议异步编程和Continuation异步原理同步 vs 异步同步操作会在返回调用者之前完成它的工作异步操作会在返回调用者之后去做它的(大部分)工作异步的方法更为少见,会启用并发,因为它的工作会与调用者并行执行异步方法通常很快(立即)就会返回到调用者,所以叫非阻塞方法目前见到的大部分的异步方法都是通用目的的:Thread.StartTask.Run可以将 continuation 附加到 T原创 2020-11-09 07:32:37 · 577 阅读 · 0 评论 -
C#异步编程学习笔记2 之 Task
C#异步编程学习2 之 TaskTaskThread的问题Task Class开始一个Task(Task.Run)Wait 等待长时间运行的任务(Long-running tasks)Task 的返回值Task 的异常异常与“自治”的Task未观察到的异常Continuationawaiter如果发生故障非泛型task同步上下文ContinueWithTaskCompletionSource使用TaskCompletionSource的真正魔力Task.DelayTaskThread的问题线程(Thr原创 2020-11-09 07:29:56 · 683 阅读 · 0 评论 -
C#异步编程学习笔记1 之 线程Thread
C#异步编程学习1 之 线程ThreadC#异步编程线程 Thread什么是线程Thread.Join() && Thread.Sleep()阻塞与解除阻塞阻塞 BlockingThreadState属性解除阻塞 Unblocking一些其它概念忙等待(自旋 Spinning)本地 VS 共享的状态(Local VS Shared State)线程安全 Thread Safety锁定与线程安全(简介)向线程传递数据Lambda表达式与被捕获的变量异常处理前台和后台线程(Foreground原创 2020-11-09 07:27:35 · 607 阅读 · 0 评论 -
C#异步编程学习笔记4 之 异步函数
C#异步编程学习3 之 异步函数异步函数awaitingasync 修饰符异步方法如何执行可以 await 什么?捕获本地状态await 之后在哪个线程上执行UI 上的 await代码运行原理与粗粒度的并发相比编写异步函数(编写异步函数)富客户端场景下返回 Task\C# 中如何设计异步函数编译器能对异步函数生成 Task 意味着什么?异步调用图执行并行(Parallelism)异步 Lambda 表达式异步中的同步上下文发布异常OperationStarted 和 OperationCompleted优化原创 2020-11-08 22:56:54 · 255 阅读 · 0 评论 -
C#中委托(delegate、Func、Action、precidate)学习笔记
C#中Func和Action的简单使用delegate的简单使用Func声明Func结合Lambda表达式使用结合匿名方法使用Action声明Action结合Lambda表达式使用结合匿名函数使用通常自定义使用委托是用delegate。Func和Action类是特殊的类型,它们允许程序员在不必指定自定义委托类型的情况下,去使用委托。而通过F12查看函数声明可以发现,Func和Action类本质上也是通过delegate关键字实现的。Func和Action在使用时非常相似,下面将简单介绍Func和Acti原创 2020-10-28 20:52:15 · 1104 阅读 · 0 评论 -
C#中List集合的常用方法
C#中List集合的常用方法常用方法和属性常用属性常用方法List类是ArrayList类的泛型等效类,该类使用大小可按需动态增加的数组实现IList泛型接口。泛型的好处:它为使用c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换,所以性能得到提高。性能注意事项:在决定使用IList还是使用ArrayList类(两者具有类似的功能)时,记住IList类在大多数情况下执行得更好并且是类型安全的。如果对IList类的类型T 使用引用类型,则两原创 2020-10-28 15:46:54 · 11108 阅读 · 0 评论 -
Ado.Net学习——基础知识记录
Ado.Net学习——基础知识记录ADO.NetADO.Net组成SqlConnection数据库连接字符串两种方法进行数据库连接数据库连接池SqlCommandExecuteNonQueryExecuteScalarExecuteReaderSqlParameterSqlCommand中添加参数参数的使用SqlDataReaderDataTableDataSetDataRelationSqlDataAdapter填充数据更新数据DataAdapter与DataReader对比ADO.Net调用数据库事务简原创 2020-10-27 07:49:52 · 542 阅读 · 1 评论 -
WPF中通过反射实现对象的复制粘贴
WPF中通过反射实现对象的复制粘贴1、前言2、复制3、粘贴1、前言在WPF项目开发过程中,需要实现一个功能。在当前界面的工程列表中,实现工程的复制粘贴功能。要求能够完整拷贝被复制的工程的各个参数,并生产一个跟被拷贝工程没有任何关联的新的工程。工程代码结构如下2、复制复制的操作很简单,此处获取到完整的工程对象信息即可,具体的克隆拷贝过程在粘贴的函数中实现。private ICloneable copyItem; //复制Item/// <summary>/// 复制工程///原创 2020-10-22 14:34:10 · 861 阅读 · 0 评论