前言在 .NET 6 之前,实现文件上传功能十分简单:[HttpPost("upload")]public async Task<IActionResult> Upload(IFormFile file){ //对file执行操作 return Ok(file.FileName);}但是,当使用 .NET 6 的最小 WEB API 来实现相同功能时,却意外地遇到了不少坑。
Read More
moregeek program
#yyds干货盘点# C#中类的override和virtual-多极客编程
欢迎您成为我的读者,希望这篇文章能给你一些帮助。
前言
昨天和大家一起学习了类的派生,知道派生类和基类的区别。
今天咱们一起看看派生类和基类的虚方法和覆写方法是如何使用的。
我们使用基类引用访问派生类对象时,得到的是基类的成员。当使用虚方法时,可以得到派生类的成员和函数。
class Ahui:InfoBase
{
public string Name = "阿姨";
Read More
Read More
#yyds干货盘点# C#中的类继承-多极客编程
欢迎您成为我的读者,希望这篇文章能给你一些帮助。
前言
在日常的程序编码工作中,我们的最终目标是完成公司交给自己的开发任务,核心目标是写出好代码。
那么什么是好代码?
高内聚,低耦合
想必从事编码工作的我们,基本都听说过这句话。那么什么样的代码是高内聚,又如何低耦合呢。
今天咱们就来了解下在C#这个高级语言中,是通过那些形式来表现的。
在目前的高级语言中,这三个特点是共通的,也是我们日常编
Read More
Read More
#yyds干货盘点# C# lambda表达式 详解附带示例-多极客编程
lambda是一个匿名函数,是一种高效的类似于函数式编程的表达式可以搭配委托实现代码的新方式示例using System;namespace lambda{internal class Program {static void Main(string[] args) {// 委托变量不仅可以指向普通方法,也可以指向匿名方法。// 无参 ActionAction f1
Read More
Read More
#yyds干货盘点# C#中的类-多极客编程
前言
今天咱们简单复习下C#中类的相关知识。
在刚开始学习编程的时候,都是从面向过程的C语言开始的,它有个特征就是有其执行顺序,先干这,再干那,很直接,也很好理解。但现在学习C#或者JAVA等面向对象的语言,它的特征就是把事物或业务进行抽象化描述,而在这个抽象化的过程中就是用类来表征或者说代表这个抽象的内容。
程序的数据和功能被组织为逻辑上相关的数据项和函数的封装集合,也就是所谓的类。
C#中的
Read More
Read More
#yyds干货盘点# C#中的数据字典Dictionary-多极客编程
前言
今天上午和往常一样在网上冲浪,看到码甲哥微信群里面在聊一个面试题,比较有意思,这里简单分享下结论中的Dictionary字典。
有50w个int类型的数字,现在需要判断一下里面是否存在重复的数字,请简要说明下。
假如这个题目让我做,第一感觉可能直接向两个for循环,简单做个判断就解决了。可是看到几个大佬的讨论,才发现是我知识浅薄了。
这道题难道考的就是对业务代码循环的应用吗?肯定不是的。
Read More
Read More
C# 提取Word中插入的多媒体文件(视频、音频)-多极客编程
在Word中可将文件通过OLE对象嵌入的方式插入到文档,包括Word、excel、PDF、PPT、图片、宏文件、文件包等在内的多种文件类型。对文档中已插入的文档对象,也可通过本文中的方法提取出来另存到指定路径。本文将通过C#程序代码示例做详细介绍。dll文件安装(3种方法)1.通过NuGet安装dll(2种方法) 1.1 可以在Visual Studio中打开“解决方案资源管理器”,
Read More
Read More
C#中元组的妙用-多极客编程
元组元组是什么?如下两个都是元组,类似数组的感觉。(1,2,3)("abc",2)能用元组的地方,基本上用class也都可以实现,那么为何还要元组呢?对于元组,我对其的理解就是“方便快速使用”。第一种场景:直接赋值这种方式,对于一次性使用数据对象时,就免去了创建class的过程。var results = (1, 2, 3, "Name","Time"); // 等价于 var ( Item1,
Read More
Read More
C# 在PDF文档中应用多种不同字体-多极客编程
在PDF文档中,可绘制不同字体样式、不同语言的文字,可通过使用Standard字体、TrueType字体、CJK字体或者自定义(私有)等字体类型。下面通过C#程序代码来展示如何实现使用以上类型的字体来绘制文本。引入dll本次程序中引入的是Spire.Pdf.dll,引入方法如下:
【方法1】通过NuGet安装。1. 可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击
Read More
Read More
关于C#/.NET程序中的应用程序域、程序集、线程、区域性的个人理解-多极客编程
1. 一张图:首先根据我通过微软文档的理解,如图所示的关系。其中程序集是可以共享给多个应用程序域的在我们平常写程序的概念里面,直接是我们运行的程序代码了,这里叫模块,一个个模块就是一个个.cs文件生成的,而程序集可以理解为就是一个个dll文件或者exe文件,它把很多模块进行了管理,而一个进程多数时候肯定是有很多个dll文件+一个exe组成,所以这里引入了一个额外的概念叫应用程序域,它负责管理用到的
Read More
Read More
#yyds干货盘点#面试官:如何在ASP.NET Core里给Action传递参数-多极客编程
TIP:这篇文章属于入门级的文章,面向的读者是刚刚接触.NET Core的开发人员。
在ASP.NET Core 中给Action传参是在面试和实际开发中必定会遇到和使用到的,那么下面我们就来说说如何给Action传参。常用的传参方式有四种:
url 方式;
querystring 方式;
request header 方式;
request body 方式。
URL方式
URL方式是最简单的
Read More
Read More
如何修改Kestrel上传文件的大小-多极客编程
作为.NET程序员我们都清楚如何修改.NET Web程序上传文件的大小,但是我最近在做.NET Core 项目的时候发现我不清楚如何修改Kestrel上传文件的大小,经过翻阅微软官方文档我成功实现了修改Kestrel上传文件大小的。现特分享出来给大伙儿。在 Net Core 中默认 body 最大是28.6M,如果要修改这个大小,有两种方法,一种是局部修改,另一种是全局修改,下面我分别来说一下。
Read More
Read More
C# 设置或验证 PDF中的文本域格式-多极客编程
概述PDF中的文本域可以通过设置不同格式,用于显示数字、货币、日期、时间、邮政编码、电话号码和社保号等等。Adobe Acrobat提供了许多固定的JavaScripts用来设置和验证文本域的格式,如:AFNumber_Format(2, 0, 0, 0, "$", true)和AFNumber_Keystroke(2, 0, 0, 0, "$", true)。Format后缀的script
Read More
Read More
WPF中的一个bug造成CPU资源拉满-多极客编程
在 WPF 里可以使用DashStyle属性实现虚线的功能,通过传入double数组即可实现这个功能,但是如果传入的数组是[0,0]就表示先绘制零宽度线条,再空出零宽度的间隔。这其实是一个震荡收敛,要么整条线绘制的是实线,要么就是什么也不绘制,成为空白。那么就存在一个问题,就是求一个线段有多少个无穷小的点组成的问题。计算机虽然有精度限制,但这个问题所需要计算量非常大,因此会造成渲染线程使得CPU直
Read More
Read More
#yyds干货盘点#知识回顾:抽象类与抽象方法-多极客编程
今天说一个老生常谈的知识:抽象类与抽象方法。这两个内容在面试中经常被问到,对于老程序员来说会打起来没什么难度,但是对于新手程序员来说就有些难多了,那么这篇文章就来讲解一下抽象类和抽象方法。C#允许把类和方法声明为抽象类与抽象方法,声明方法是在类名或方法名前加上abstract 关键字。定义很简单,但是你有没有想过什么时候应该用抽象类呢?要回答这个问题只需记住一点:如果类设计的目点是用来被其它类继承
Read More
Read More
#yyds干货盘点#.NET6新东西---TryGetNonEnumeratedCount-多极客编程
在.NET6中微软新增了 TryGetNonEnumeratedCount 方法,让我们可以计算可枚举类型元素的总数。到这里一定有读者会问:LINQ中已经包含了Count方法,为什么还要增加TryGetNonEnumeratedCount方法呢?要解决这个问题,我们先来看一段代码:var u = new User<int>();Console.WriteLine($@"{u.Count
Read More
Read More
#yyds干货盘点#.NET6东西--可写的JSON DOM API-多极客编程
在项目开发中,我们有时会对数据进行JSON序列化和反序列化,.NET6以前我们经常这么使用:Car car = new Car { Name = "卡车",Size="10米*6米" };var carJson = JsonSerializer.Serialize(car);var carNew = JsonSerializer.Deserialize<Car>(carJson);上面
Read More
Read More
#yyds干货盘点#C#中的属性-多极客编程
@TOC这篇文章主要面向的对象是初级开发人员,以及对属性不是很熟悉的开发人员。什么是属性(Attribute)属性在C#中很常用,但有部分开发人员对它既熟悉又陌生。概念上属性是将元数据关联到元素的方式。属性的使用方法我们在代码中经常肩见到,比如下面这样的:[Test]public class MyClass{//more code}在上面的样例代码中Test就是一个属性。属性是放在类、字段
Read More
Read More
#yyds干货盘点#如何实现Redis限流-多极客编程
在高并发中我们往往会使用限流减轻服务器的压力。常用的是Redis方式限流,Redis限流的方式有许多种,常用的方式有三种,这三种可以简单的实现限流。基于Redis的setnx的操作在使用Redis分布式锁的时候,我们都知道它是依靠setnx指令,在CAS的操作时同时给指定的key设置了过期时间,我们限流的主要目的就是为了在单位时间内有且仅有N个数量的请求能够访问我们的程序。因此依靠setnx可以做
Read More
Read More
C# 将PDF转为线性化PDF-多极客编程
线性化PDF文件是PDF文件的一种特殊格式,可以通过Internet更快地进行查看。线性化的PDF,在页面数量很多的情况下,更能突出表现出快速浏览的优势。下面是通过后端.NET程序实现将PDF文件转为线性化PDF的方法。程序环境Visual Studio 2017.NET Framework 4.6.1Spire.PDF for .NET7.12.1
方法步骤步骤1. 安装PDF库。可通过
Read More
Read More