C#正则表达式

博主头像 C#正则表达式 一、简介 正则表达式 是一种匹配输入文本的模式,.Net 框架提供了允许这种匹配的正则表达式引擎,模式由一个或多个字符、运算符和结构组成。下面列出了用于定义正则表达式的各种类别的常用字符、运算符和结构。 字符转义: 正则表达式中的反斜杠字符(\)指示其后跟的字符是特殊字符,或应按原义 ...

改善C#程序的方法-(1)操作字符串

博主头像 ##正确操作字符串 引言: 字符串是使用很频繁的一种数据类型。 如果使用不慎,则会为一次字符串操作所带来的额外性能开销而付出代价。 下面从这几个方面来探讨如何正确操作字符串: ###1.确保尽量少的装箱,尽可能避免编写不必要的装箱代码 string str1 = "str1" + 8; //运行时会 ...

[翻译] 预览 C# 10 的新东西

博主头像 本周早些时候(译注:原文发表于5月1日),我关注了 Mads Torgersen 在 DotNet SouthWest 大会上的演讲,他是微软的 C# 语言的首席设计师。他概述了 C# 10 即将包含的很酷的一些新东西。让我们来快速浏览一下。 ...

记一次 .NET 某三甲医院HIS系统 内存暴涨分析

博主头像 一:背景 1. 讲故事 前几天有位朋友加wx说他的程序遭遇了内存暴涨,求助如何分析? 和这位朋友聊下来,这个dump也是取自一个HIS系统,如朋友所说我这真的是和医院杠上了🤣🤣🤣,这样也好,给自己攒点资源😁😁😁,好了,不扯了,上windbg说话。 二: windbg 分析 1. 托管还是 ...

记一次 .NET 某电商交易平台Web站 CPU爆高分析

博主头像 一:背景 1. 讲故事 已经连续写了几篇关于内存暴涨的真实案例,有点麻木了,这篇换个口味,分享一个 CPU爆高 的案例,前段时间有位朋友在 wx 上找到我,说他的一个老项目经常收到 CPU > 90% 的告警信息,挺尴尬的。 既然找到我,那就用 windbg 分析呗,还能怎么办。 二: windbg ...

中间件调研

博主头像 1. 简介 大型企业存在各种Client/Server交互业务,大部分都是基于RPC远程过程调用协议,全称:Remote Procedure Call Protocol。传输协议基于TCP、UDP、Http等。小部分采用WCF或者Web Service。 2. 交互方式 2.1 WEB Servic ...

.NET程序崩溃了怎么抓 Dump ? 我总结了三种方案

博主头像 一:背景 1. 讲故事 最近几天接到了几个crash的求助,可能这几个朋友没玩过怎么去生成dump,只能手把手教,感觉也不是一个办法,所以有必要总结一下,后续再有朋友咨询的话,我就可以把这篇文章丢过去了😏😏😏,好了,我大概总结了下面三种方式: procdump -e procdump → AE ...

C# 给PDF签名时添加时间戳的2种方法(附VB.NET代码)

博主头像 在PDF添加签名时,支持添加可信时间戳来保证文档的法律效应。本文,将通过C#程序代码介绍如何添加可信时间戳,可通过2种方法来实现。文中附上VB.NET代码,有需可供参考。 一、程序运行环境 编译环境:Visual Studio/.NetFramework 4.8 所需测试文件:PDF、.pfx数字证 ...

重构改善既有代码的设计---笔记

博主头像 重构改善既有代码的设计 在日常的编码过程中,这些知识点可能是非常容易忽视或者由于编码习惯而出差错的地方 软件工程的意义:希望建立完美的需求与设计,按照既有的规编写标准划一的代码,这是结构的美;快速迭代和RAD颠覆“全知全能”神话,用近乎刀劈斧砍的方式解决问题,在混沌的循环往复中实现需求,这是解构的美 ...

C#数据类型在内存中的存储原理

博主头像 在C#中,变量的类型就属引用类型,值类型,以及他们之间相互的转换比较难理解,里面更是涉及到了类型在内存中的存储结构,本文通过内存,栈,堆,值类型,引用类型的关系,以及相互转换时产生的装拆箱操作,来给大家梳理一下其中的过程,拨开各种层层的技术迷雾,探究其真正的本质。如果大家对过程产生疑问或者描述过程有 ...

C#入门到精通系列课程——第4章表达式与运算符

◆本章简述 表达式在C#程序中应用广泛,尤其是在计算功能中,往往需要大量的表达式。而大多数表达式都使用运算符,运算符结合一个或一个以上的操作数,便形成了表达式,并且返回运算结果。本章将对C#中的表达式与运算符进行详细讲解。 ◆本章内容 (1)了解什么是表达式 (2)熟悉算术运算符的使用 (3)掌握赋 ...

C# 动态调用Webservice

博主头像 通常我们在程序中需要调用WebService时,都是通过“添加Web引用”,让VS.NET环境来为我们生成服务代理,然后调用对应的Web服务。这样是使工作简单了,但是却和提供Web服务的URL、方法名、参数绑定在一起了,这是VS.NET自动为我们生成Web服务代理的限制。如果哪一天发布Web服务的U ...

记一次 .NET 某外贸Web站 内存泄漏分析

博主头像 一:背景 1. 讲故事 上周四有位朋友加wx咨询他的程序内存存在一定程度的泄漏,并且无法被GC回收,最终机器内存耗尽,很尴尬。 沟通下来,这位朋友能力还是很不错的,也已经做了初步的dump分析,发现了托管堆上有 10w+ 的 byte[] 数组,并占用了大概 1.1G 的内存,在抽取几个 byte[ ...

C#是怎么跑起来的

博主头像 解释流程前,需要了解一些基本的概念。 基本概念解释: **CPU :**中央处理器,计算机的大脑,内部由数百万至数亿个晶体管组成,是解释和运行最终转换成机器语言(二进制代码)的地方。机器语言是通过CPU内存的寄存器来处理的,不同的类型的CPU,其内部的寄存器的数量、种类以及寄存器存储的数值范围都是不 ...

记一次 .NET 某HIS系统后端服务 内存泄漏分析

博主头像 一:背景 1. 讲故事 前天那位 his 老哥又来找我了,上次因为CPU爆高的问题我给解决了,看样子对我挺信任的,这次另一个程序又遇到内存泄漏,希望我帮忙诊断下。 其实这位老哥技术还是很不错的,他既然能给我dump,那真的是遇到很棘手的疑难杂症了😂😂😂,我得做好心理准备😬😬😬,沟通下来大 ...

在其他程序集访问internal类

博主头像 前言 本文将介绍如何在其他程序集访问internal类的方法 首先我们新建一个解决方案,其中同时新建两个类库FooALibray和FooALibray,如下: 其中FooA类代码如下: internal class FooA { public void Print() { Console.Write ...

记一次 .NET 车联网云端服务 CPU爆高分析

博主头像 一:背景 1. 讲故事 前几天有位朋友wx求助,它的程序CPU经常飙满,没找到原因,希望帮忙看一下。 这些天连续接到几个cpu爆高的dump,都看烦了😂😂😂,希望后面再来几个其他方面的dump,从沟通上看,这位朋友表现的好惨,可能实际更惨,那既然找到我了,我就尽最大能力帮他找到幕后真凶,话不多 ...

<123···30>