C#
161
减少if...的使用

最近维护一批代码,其中包括一堆if...的使用,多的情况嵌套8、9层,痛苦不堪,所以搜寻一些可以降低if...else的方法来改善一下代码,写个简单总结。 第一种: 优化前 if (measuredValue > 8) return 5 * measuredValue * measuredValue ...

舒碧 @ 2020/06/04

162
c#发布补丁

日常开发维护项目中,可能会遇到发布后出现bug,或者忘记改配置文件等等问题,这个时候,可能就需要重新进行下发布,有的开发小伙伴可能会把编译后的代码文件整个替换。这样做虽然也可以实现发布,但是有几个弊端,一个是速度慢,二个是会造成不稳定,假如不关闭站点的话,前端发出请求到后端后,将会出现异常信息。 换 ...

沿途放纵过往不究 @ 2020/06/04

163
震惊!Windows Service服务和定时任务框架quartz之间原来是这种关系……

过场CG: 接到公司领导的文件指示,“小熊”需要在6月底去海外执行一个行动代号为【定时任务】的营救计划,这个计划关系到公司某个项目的生死(数据安全漏洞),作战部拟定两个作战方案: 方案一:使用务定时任务框架quartz; 方案二:使用windows Service服务。 最终的作战方案为:两者配套使 ...

熊泽-学习中的苦与乐 @ 2020/06/04

164
C# 扩展TaskScheduler实现独立线程池,支持多任务批量处理,互不干扰,无缝兼容Task

为什么编写TaskSchedulerEx类? 因为.NET默认线程池只有一个线程池,如果某个批量任务一直占着大量线程,甚至耗尽默认线程池,则会严重影响应用程序域中其它任务或批量任务的性能。 特点: 1、使用独立线程池,线程池中线程分为核心线程和辅助线程,辅助线程会动态增加和释放,且总线程数不大于参数 ...

秋荷雨翔 @ 2020/06/04

166
字符串太占内存了,我想了各种奇思淫巧对它进行压缩

一:背景 1. 讲故事 在我们的一个全内存项目中,需要将一家大品牌店铺小千万的trade灌入到内存中,大家知道trade中一般会有订单来源,省市区 ,当把这些字段灌进去后,你会发现他们特别侵蚀内存,因为都是字符串类型,不知道大家对内存侵蚀性是不是很清楚,我就问一个问题。 Question: 一个空字 ...

一线码农 @ 2020/06/04

167
C#将DataTable数据导出CSV文件

C#将DataTable数据导出CSV文件通用方法! //导出按钮调用导出方法 protected void btnCSV_Click(object sender, EventArgs e) { DataTable dt = ExportData();//获取datatable数据源 string ...

JieKeY @ 2020/06/04

168
修改Nuget包默认存放路径

默认情况下所有的Nuget包都会下载到C盘,目前我这边有几十个G的大小,这导致我C盘的容量越来越小... 我们可以在Nuget.config中修改package存放路径,C:\Users\{UserName}\AppData\Roaming\NuGet 默认如下所示 <?xml version="1 ...

HueiFeng @ 2020/06/04

169
C# 可空值类型

using System; /*********************************************************************************** * 创建人: * 创建时间: * 功能描述: * * 修改人: * 修改时间: * 功能描述: *** ...

舒碧 @ 2020/06/03

170
二叉树遍历

前言 使用C#实现一个二叉树及其基本操作, 配合xunit来做单元测试; 所以数据结构的定义和算法均使用C#实现; 概念 二叉树或为空树, 或是由一个根结点加上两棵分别称为左子树和右子树的、互不交的二叉树组成; 二叉树的遍历 二叉树遍历的递归算法比较简洁, 思路比较清晰, 但是非递归的版本, 个人觉 ...

Laggage @ 2020/06/03

171
【asp.net core 系列】3 视图以及视图与控制器

0.前言 在之前的几篇中,我们大概介绍了如何创建一个asp.net core mvc项目以及http请求如何被路由转交给对应的执行单元。这一篇我们将介绍一下控制器与视图直接的关系。 1. 视图 这里的视图不是数据库里的视图,是一种展示技术。在asp.net core mvc项目中视图是指以cshtm ...

月影西下 @ 2020/06/03

173
【asp.net core 系列】2 控制器与路由的恩怨情仇

0. 前言 在上一篇文章中,我们初步介绍了asp.net core,以及如何创建一个mvc项目。从这一篇开始,我将为大家展示asp.net core 的各种内容,并且尝试带领大家来挖掘其中的内在逻辑。 当然,那是以后的事情。这一篇将通过自定义一个控制器来为大家介绍asp.net core mvc 中 ...

月影西下 @ 2020/06/02

174
基本的C#面试问题(15例)

1、给定一个int数组,编写方法以统计所有偶数的值。 有很多方法可以做到这一点,但是最直接的两种方法是: static long TotalAllEvenNumbers(int[] intArray) { return intArray.Where(i => i % 2 == 0).Sum(i => ...

武穆逸仙 @ 2020/06/02

175
C# async await 异步执行方法封装 替代 BackgroundWorker

BackWork代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Utils { publ ...

秋荷雨翔 @ 2020/06/02

177
函数式编程中的基本概念

函数签名 假设有一个函数 f,输入一个 int 值,返回一个 string 值,在 C# 中,该函数可以表示为: Func<int, string> 我们可以使用箭头(→)符号来表示: f : int → string 箭头符号是函数式编程社区的标准函数符号,与语言无关。 当没有输入或没有输出(vo ...

丹枫无迹 @ 2020/06/02

179
Java Spring Cloud 实战之路 - 1 创建项目

0. 前言 该项目使用Maven进行管理和构建,所以需要预先配置好Maven。嗯,在这个系列里就不做过多的介绍了。 1. 创建项目 先创建一个pom.xml 文件,添加以下内容: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http: ...

月影西下 @ 2020/06/01

180
LINQ 性能分析

LINQ 的优势并不是提供了什么新功能,而是让我们能够用更新、更简单、更优雅的方法来实现原有的功能。不过通常来讲,这类功能所带来的就是对性能上的影响——LINQ 也不例外。本篇文章的主要目的就是让你了解 LINQ 查询对性能的影响。我们将介绍最基本的 LINQ 性能分析方法,并提供一些数据。还会给出 ...

Vin° @ 2020/06/01