遍历 Dictionary,你会几种方式?

一:背景 1. 讲故事 昨天在 StackOverflow 上看到一个很有趣的问题,说: 你会几种遍历字典的方式,然后跟帖就是各种奇葩的回答,挺有意思,马上就要国庆了,娱乐娱乐吧,说说这种挺无聊的问题😄😄😄。 二: 使用 foreach 遍历 为了方便演示,先上一段测试代码: var dict ...

C#方法

C#方法 继续填坑复习,上次讲完类型和变量,这次讲讲方法。 方法(method)的前身是C/C++语言的函数(function)。方法是面向对象范畴的概念,在非面向对象语言中仍然称之为函数。方法永远都是类或结构体的成员,C#语言中函数不可能独立于类或结构体之外,只有作为类或者结构体的成员时才能被称为 ...

MongoDB帮助类

public class MongoHelper { private static readonly string _connectionString = ConfigHelper.GetAppConfig("mongodb"); private static readonly string _db ...

新版 C# 高效率编程指南

前言 C# 从 7 版本开始一直到如今的 9 版本,加入了非常多的特性,其中不乏改善性能、增加程序健壮性和代码简洁性、可读性的改进,这里我整理一些使用新版 C# 的时候个人推荐的写法,可能不适用于所有的人,但是还是希望对你们有所帮助。 注意:本指南适用于 .NET 5 或以上版本。 使用 ref s ...

C#类型与变量

C#类型与变量 8.28开始看刘铁猛的视频,到9.22看完。大概觉得自己入门了,对OOP也有一定了解了,稍微写点笔记,当复习了。 类型与变量 数据类型 数据类型1是数据在内存中存储时的“型号”。不同的数据类型有不同的“大小”——在内存中占用的空间,想知道某个数据类型在内存中占的大小,可以用函数siz ...

Windows7、10的热键屏蔽

最近有需求 在使用本软件的时候 防止一些操作,需要屏蔽系统的快捷键,于是简单整理了下实现方式 一、 hook技术的使用 hook技术:Hook 技术又叫做钩子函数,在系统没有调用该函数之前,钩子程序就先捕获该消息,钩子函数先得到控制权,这时钩子函数既可以加工处理(改变)该函数的执行行为, 还可以强制 ...

C# 中居然也有切片语法糖,太厉害了

一:背景 1. 讲故事 昨天在 github 上准备找找 C# 9 又有哪些新语法糖可以试用,不觉在一个文档上看到一个很奇怪的写法: foreach (var item in myArray[0..5]) 哈哈,熟悉又陌生,玩过python的朋友对这个 [0..5] 太熟悉不过了,居然在 C# 中也 ...

C# 9.0 新特性预览 - 顶级语句

随着 .NET 5 发布日期的日益临近,其对应的 C# 新版本已确定为 C# 9.0,其中新增加的特性(或语法糖)也已基本锁定,本系列文章将向大家展示它们。 目录 ...

缓动公式整理(附:C#实现及WPF原版对比)

前言 缓动在动画效果中应用非常广泛,在合适的时候使用一些缓动效果会使得效果更加符合人的直观感受,简单来说,会显得更加自然。 WPF提供了11种缓动效果,涵盖了大部分的使用场景。不过如果需要在非WPF下使用这些缓动效果,就需要知道对应的曲线公式了。因为公式是通用的,所以可以很轻松的使用其他语言实现。 ...

你没有看错,爬网页数据,C# 也可以像 Jquery 那样

一:背景 1. 讲故事 前段时间搞了一个地方性民生资讯号,资讯嘛,都是我抄你的,你抄官媒的,小市民都喜欢奇闻异事,所以就存在一个需求,如何去定向抓取奇闻异事的地方号上的新闻,其实做起来很简单,用逻辑回归即可,这篇主要讨论如何去抓取,在 C# 中大家都知道抓取通用的库是 HtmlAgilityPack ...

C#缓存初步学习

1. 缓存是什么,各级缓存 2. 本地缓存原理和实现 3. 缓存应用和缓存更新 缓存:为了快速获取结果,在第一次获取数据后存起来,下次直接使用 缓存一般用在哪里? 1. 会重复的请求 2. 数据相对稳定 3. 耗时/耗资源 4. 体积不大 配置文件;菜单-权限;省市区;类别数据; 热搜;公告;技能/ ...

C#性能优化杂七杂八的总结

C#性能优化总结 1. C#语言方面 1.1 垃圾回收 垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意。 1.1.1 避免不必要的对象创建 由于垃圾回收的代价较高,所以C#程序开发要遵循的一个基本原则就是避免不必要的对象创建。以下列举一些常见的情形 ...

OpenCvSharp+ZXing实现多个DataMatrix解析

最近公司需要开发一个DataMatrix码识别的小软件,由于DataMatrix码实在太小了网上找了很多案例都不能一下子就识别多个二维码。所以就只能通过OpenCvSharp来完成一系列的操作。 下面直接上代码,功能代码都写好注释,不明白的地方可以@我 OpenFileDialog openFile ...

JWT理论理解

什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。 JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息, ...

简单实用算法——计算数学表达式

数学表达式的数值支持小数,符号只支持+ - * / ( )这几种。先将数学表达式的字符串(中缀表达式)转化为**后缀表达式**,然后计算后缀表达式的值。例:中缀表达式“9+(3-1)*3+10/2”转化为后缀表达式“9 3 1-3*+ 10 2/+”。 ...

C#开发串口通信实例及串口基础

一、串口通信简介 串行接口(串口)是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。 串口通信(Serial Communications)的概念非常简单,串口按位(bi ...

<1···91011···49>