首页
学习
活动
专区
工具
TVP
发布

喵叔's 专栏

专栏作者
571
文章
311381
阅读量
38
订阅数
C#委托11111
在C#中的委托关键字是 Delegate,委托类似于C/C++中函数的指针。是存有对某个方法引用的引用类型变量,可在运行时被改变。一般用于实现事件和回调方法。
喵叔
2022-05-06
2490
.NET 6新东西--高性能日志
一提到日志记录,大家就会想到log4net,如果提到.NET中的日志记录,一定会想到ILogger,这个ILogger是.NET中常用的提供的日志记录的方式,下面的代码是.NET Core WebAPI 项目初始化的代码,其中就使用了ILogger来提供日志记录:
喵叔
2021-12-18
8090
何为异步流
我们使用C#中的yield关键字可以实现迭代器,使用async和await关键字可以实现异步方法。异步流是这两种功能的结合体,它用异步方式生成和消费数据的迭代器。异步流是在C#8中引入的,它以IAsyncEnumerable和IAsyncEnumerator: IAsyncDisposable两个接口为基础,这两个接口的代码如下:
喵叔
2021-12-15
2800
C#中的yield
在 C# 基础库中经常可以看到很多方法返回值是 IEnumerable 类型,那么为什么返回 IEnumerable 而不是返回 IList、ICollection 或 List 类型呢?看完这篇文章你就能得到答案了。IEnumerable 它表示该集合中的元素可以被遍历,一般来说 IEnumerable 类型的对象会和 yield 紧密结合和。在 C# 中大部分方法是通过 return 语句把运行果返给调用者,同时把控制权也交回给了调用者。下面的代码将打印斐波拉契数据:
喵叔
2021-11-29
7080
+、StringBuffer、StringBuilder区别
零、故事 小王是一个一年经验的新 Java 程序员,最近他负责的模块出现了性能问题,每次执行的时间总是在十多秒。小王经过排查终于找出来原因了,是因为在字符串连接的时候使用了传统的字符串连接方式造成的,但是具体的解决方法小王还是不清楚。于是小王找到了项目组的资深程序员刘哥,刘哥看完代码告诉小王说:你可以使用 StringBuffer 或者 SrtingBuilder 进行字符串连接。小王将连接方法改完后再次运行代码发现性能果然有所提升。这也激发了小王探索的兴趣,于是小王便在网上翻阅资料查询。。。 一、讲解 Java 中 + 、 StringBuffer 和 StringBuilder 在开发中我们经常用到,但是部分开发人员就像前面故事中所讲的小王一样对这三种字符串连接方式有所疑惑,下面我就来一一讲解一下。
喵叔
2021-01-29
4810
运算溢出,负负得正
运算溢出这个问题在 Java 面试中时长被问到,但是面试官不会直接问你运算溢出,而是通过编程题的形式进行考察,我们先来看一下面这道面试题:
喵叔
2020-10-28
4040
小解c# foreach原理
作为开发人员我们经常会在程序中编写 foreach 语句实现对类型的遍历,但是并不是所有的类型都可以遍历,这个知识点是绝大部分开发成员所知晓的。但是类型可以被 foreach 遍历的依据是什么部分程序员并不清楚,下面我就通过举例的方式来具体讲解 foreach 原理。
喵叔
2020-10-17
1K0
Java main 方法三问
main 方法是我们能刚开始学习 Java 时接触的第一个方法,在开发过程中我们都会直接和间接的使用到这个方法,那么你是否考虑过这三个问题:
喵叔
2020-09-16
5300
Java面试题之变量与常量(一)
1.下列哪一选项不是Java的关键字? A. class B. package C. Void D. static
喵叔
2020-09-08
6030
Java单例模式一文通
在程序开发中我们往往会涉及到设计模式,那么什么是设计模式呢?官方正式的定义是一套被反复使用经过分类编目,且多数人知晓的代码设计经验总结。简单的说设计模式是软件开发人员在软件开发过程中面临问题时所做出的解决方案。常用的设计模式有23中,因为篇幅有限在本篇文章中我之讲解23中设计模式中最经典的模式:单例模式。
喵叔
2020-09-08
5250
Java面试题之初入Java世界
零、单选题 下面选项中关于JDK的说法正确的是: A、JRE中包含JDK,JDK中包含JVM B、JDK是Java运行时环境的简称 C、Java实现平台无关性的关键是JDK D、javac ,java 等命令是JDK中的命令 以下定义了主方法的代码中,有几处错误 class Hello{ public static void main(String[] args){ System.out.printIn("hi"); } } A、1处 B、2处 C、3处 D、无错误 一、多
喵叔
2020-09-08
3440
确保初始化静态成员
在开发时我们习惯在创将某个实例之前先把静态成员变量初始化好,具体做法是通过静态初始化语句以及静态构造函数。静态构造函数在 c# 是比较特殊的函数,它会在第一次访问所在类定义的其他方法、变量和属性之前执行,一般我们用它来初始化静态变量、实现单例模式以及执行其他一些需要在访问其他必要的工作。如果静态字段初始化工作较为复杂或者是初始化开销很大的话,那么我们可以使用 Lazy 机制将初始化工作推迟在第一次访问该字段的时候再去执行。 在 C# 中比较常见的静态初始化语句是实现单例模式,开发人员可以将实例级别的构造函数设为 private ,并添加静态初始化语句并在其中调用这私有的实力构造函数。我们来看一个例子,具体来看看怎么实现单例模式:
喵叔
2020-09-08
8310
减少装箱与拆箱
在 .NET 中存在一个的冲突,值类型不应该被设计为多态类型,但是 .NET Framework 又必须把 System.Object 设计为引用类型,并把它作为整个对象体系的基础。针对这一冲突 .NET 引入了装箱与拆箱。所谓的装箱就是把值类型放在非类型化的引用对象中,使得需要使用引用类型的地方也可以使用值类型,而拆箱指的是把已经装箱的值复制出来一份。在只能使用 System.Object 类型或接口类型的地方使用值类型,那么就必定设计到装箱和拆箱操作。但是装箱和拆箱操作严重的影响了所开发的应用程序的性能,并且在部分情况下还会创建对象的临时拷贝,进而会造成难以查找的 bug 。下面我们就具体来讲解一下如何减少装箱和拆箱。
喵叔
2020-09-08
8300
.NET对象清理
在 .NET 中垃圾回收和资源清理是重中之重的内容,也是所有程序都必须用到的机制,但是有很大一部分开发人员并不知道垃圾回收和资源清理的原理。那么,我将通过这篇文章向各位读者详细讲解一下垃圾回收和资源清理。
喵叔
2020-09-08
5170
如何重写object虚方法
在 C# 中 Object 是所有类的基类,所有的结构和类都直接或间接的派生自它。前面这段话可以说所有的 C# 开发人员都知道,但是我相信其中有一部分程序员并不清楚甚至不知道我们常用的 ToString 、 Equals 和 GetHashCode 虚方法都来自于 Object 类,并且我们可以对它们进行重写。重写这三个虚方法可以说在项目开发中经常用到,只不过大部分开发人员并未留意这三个虚方法可以重写,而是自己写方法来实现。 下面我就来具体讲解一下它们三个应该怎么重写。在这里我需要说明的是本篇文章会大量涉及到设计规范和设计要求,代码只是作为辅助理解的形式出现,因此文章中的所有代码将会以代码段的形式出现。
喵叔
2020-09-08
7620
Scrapy 爬虫模板--XMLFeedSpider
XMLFeedSpider 主要用于 RSS 的爬取。RSS 是基于 XML 的信息局和技术。这篇文章的最后一下小结我会利用爬取经济观察网 RSS 的例子来讲解它的具体用法。现在我们先看一下 XMLFeedSpider 的常用属性。
喵叔
2020-09-08
6400
枚举器与迭代器
这次我们再次来讲解一下开发人员会用但不理解的C#中的知识,这篇文章我们讲解一下枚举器与迭代器的知识。
喵叔
2020-09-08
4140
C#委托
在C#中的委托关键字是 Delegate,委托类似于C/C++中函数的指针。是存有对某个方法引用的引用类型变量,可在运行时被改变。一般用于实现事件和回调方法。
喵叔
2020-09-08
5090
重写、重载和隐藏
重写、重载和隐藏是经常在开发中用到的知识点,今天我们在这里来讲一下他们三个的区别。
喵叔
2020-09-08
4620
C# 操作IIS方法集合
见http://blog.csdn.net/ts1030746080/article/details/8741399
喵叔
2020-09-08
4750
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档