C# 成为2023年度编程语言之王
原文发表在公众号 腾讯云开发者:https://mp.weixin.qq.com/s/5owE5hmJVkwOLJrKMXfR6Q导读2023 TIOBE 年度编程语言正式揭晓,C# 在陪跑多年后首次斩获这一殊荣。TIOBE表示,C#在 Web 应用后端和游戏等领域变得持续流行,并开始蚕食 Java 的市场份额。然而在国内,C#的认知度却并不高。腾讯云开发者社区特邀国内 .Net 平台开 ...
C#创历史成为2023年度编程语言!!!
大家好,我是沙漠尽头的狼。在朋友圈看到桂素伟大佬发的喜讯截图,站长赶紧翻译向大家报喜,确定了-C#是2023年度的编程语言!
在TIOBE指数的历史上,C#首次获得了年度编程语言的奖项。祝贺!二十多年来,C#一直是前10名的选手,现在它正在追赶四大语言,它以一年内最大的涨幅(+1.43%)赢得了这一当之无愧的奖项。紧随其后 ...
由浅入深理解C#中的事件
目录
本文较长,给大家提供了目录,可以直接看自己感兴趣的部分。
前言
有关事件的概念
示例
简单示例
标准 .NET 事件模式
使用泛型版本的标准 .NET 事件模式
补充
总结
参考
前言
前面介绍了C#中的委托,事件的很多部分都与委托类似。实际上,事件就像是专门用于某种特殊用途的简单委托,事件 ...
C#/.NET/.NET Core优秀项目和框架2023年12月简报
前言
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(公众号每周至少推荐两个优秀的项目和框架当然节假日除外),公众号推文有项目和框架的介绍、功能特点以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀 ...
【C# 技术】C# 常用排序方式
前言
在最近的项目中经常会对C#中的数据进行排序,对于基本数据类型,其排序方式比较简单,只需要调用内置算法即可实现,但对于自定义数据类型以及自定义排序规则的情况实现起来就比较麻烦,所以在本文章中将详细介绍一下在中C#中如何对数据进行排序。
应用技术:
LINQ; Array.Sort();
1. 常规数据排序
1.1 ...
用C#也能做机器学习?
前言✨
说到机器学习,大家可能都不陌生,但是用C#来做机器学习,可能很多人还第一次听说。其实在C#中基于ML.NET也是可以做机器学习的,这种方式比较适合.NET程序员在项目中集成机器学习模型,不太适合专门学习机器学习,本文我将基于ML.NET Model Builder(低代码、入门简单)构建一个猫狗识别实例,并在.NET应用中集成它 ...
C# 从代码入门 Mysql 数据库事务
目录生成数据库数据Mysql 数据库事务基础数据库的并发一致性问题数据库事务的隔离级别BeginTransaction() 和 TransactionScope 的区别BeginTransaction()可以不手动撤销TransactionScope总结DML 是否可以使用事务顺序多操作嵌套事务事务范围封装 DbContextTransactionScopeBeginTransaction()XA 事务
在业务开发中,使用数 ...
C#/.NET/.NET Core优秀项目和框架2023年11月简报
前言
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(公众号每周至少推荐两个优秀的项目和框架当然节假日除外),公众号推文有项目和框架的介绍、功能特点以及部分截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开 ...
C#/.NET/.NET Core推荐学习书籍(已分类)
前言
古人云:“书中自有黄金屋,书中自有颜如玉”,说明了书籍的重要性。作为程序员,我们需要不断学习以提升自己的核心竞争力。以下是一些优秀的C#/.NET/.NET Core相关学习书籍,值得.NET开发者们学习和专研。书籍已分类,欢迎大家PR分享自己觉得不错的C#/.NET/.NET Core宝藏书籍。
GitHub收录地址:https://github.com ...
CPF C#跨平台UI框架开源了
介绍
C#跨平台UI框架
提供NETStandard2.0和net4的库,通过Netcore可以跨平台,支持Windows、Mac、Linux,Net4的可以支持XP。
各个平台运行效果一致,不依赖系统控件。 支持窗体,控件任意透明,支持异形窗体,支持SVG图标显示。
支持动画,数据绑定,Mvvm模式,CSS等,简化依赖属性,数据绑定的写法,提供数据上下文和命令 ...
深度分析C#中Array的存储结构
数组是C#中最基础的存储结构之一,很多的存储结构其底层的实现中都是基于数组实现的,如:List、Queue、Stack、Dictionary、Heap等等,如果大家读过这些类型的底层实现源码,其实就可以发现,这些存储结构都是在其内部维护了一个或多个数组。本文重点来学习一下数组存储结构的实现逻辑。
首先,我们来看看数组的定 ...
万字长文:从 C# 入门学会 RabbitMQ 消息队列编程
RabbitMQ 教程
目录RabbitMQ 教程RabbitMQ 简介安装与配置安装 RabbitMQ发布与订阅模型生产者、消费者、交换器、队列多工作队列交换器类型DirectFanoutTopic交换器绑定交换器消费者、消息属性Qos 、拒绝接收消息确认模式消息持久化消息 TTL 时间队列 TTL 时间DLX 死信交换器延迟队列消息优先级事务机制发送方确认机制
本文 ...
C#中Dictionary<TKey, TValue>的存储结构分析
无论是实际的项目中,还是在我们学习的过程中,都会重点的应用到Dictionary<TKey, TValue>这个存储类型。每次对Dictionary<TKey, TValue>的添加都包含一个值和与其关联的键, 使用键检索值的速度非常快,接近 O (1) ,因为 Dictionary<TKey, TValue> 类是作为哈希表实现的。首先我们来从一个简单的例子开始,以下 ...
基于C# Socket实现的简单的Redis客户端
前言
Redis是一款强大的高性能键值存储数据库,也是目前NOSQL中最流行比较流行的一款数据库,它在广泛的应用场景中扮演着至关重要的角色,包括但不限于缓存、消息队列、会话存储等。在本文中,我们将介绍如何基于C# Socket来实现一个简单的Redis客户端类RedisClient,来演示构建请求和输出的相关通 ...
C#/.NET/.NET Core优秀项目和框架2023年10月简报
前言
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(公众号每周至少推荐两个优秀的项目和框架当然节假日除外),公众号推文有项目和框架的介绍、功能特点以及部分截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开 ...
浅析 C# Console 控制台为什么也会卡死
一:背景
1. 讲故事
在分析旅程中,总会有几例控制台的意外卡死导致的生产事故,有经验的朋友都知道,控制台卡死一般是动了 快速编辑窗口 的缘故,截图如下:
虽然知道缘由,但一直没有时间探究底层原理,市面上也没有对这块的底层原理介绍,昨天花了点时间简单探究了下,算是记录分享吧。
二:几个疑问解答
1. 界面为什么 ...
C#经典十大排序算法(完结)
C#冒泡排序算法
简介
冒泡排序算法是一种基础的排序算法,它的实现原理比较简单。核心思想是通过相邻元素的比较和交换来将最大(或最小)的元素逐步"冒泡"到数列的末尾。
详细文章描述
https://mp.weixin.qq.com/s/z_LPZ6QUFNJcwaEw_H5qbQ
代码实现
/// <summary>&nb ...
【分段传输】c#使用IAsyncEnumerable实现流式分段传输
引言
在使用SSE的时候,前端可以实现流式传输,但是有个问题就是这是一个独占的连接,相当于如果你不手动关闭连接,就会一直请求,一直连接调用接口,而且发送的数据格式也是按照定义好的协议来,而使用c#自带的IAsyncEnumerable也可以实现流式传输,不过返回的数据是在之前返回的基础上进行累加,需要自己做处理, ...
C#软件架构设计原则
软件架构设计原则
学习设计原则是学习设计模式的基础。在实际的开发过程中,并不是一定要求所有的代码都遵循设计原则,而是要综合考虑人力、成本、时间、质量,不刻意追求完美,要在适当的场景遵循设计原则。这体现的是一种平衡取舍,可以帮助我们设计出更加优雅的代码结构。
分别用一句话归纳总结软件设计七大原则,如下表 ...
C# 12 中的新增功能
新的 C# 12 功能在预览版中已经引入. 您可以使用最新的 Visual Studio 预览版或最新的 .NET 8 预览版 SDK 来尝试这些功能。以下是一些新引入的功能:
主构造函数
集合表达式
默认 Lambda 参数
任何类型的别名
内联数组
拦截器
使用nameof访问实例成员
主构造函数
现在可以在任何 class 和 struct 中创建主构造函数。 主构 ...