IO文件读写操作

如果是操作文本文件类型 推荐使用: StreamReader、StreamWriter 示例:StreamWriter 用于写入,可以使用 WriteLine(xxx) 函数将内容写入指定文件当中 1 try 2 { 3 //StreamWriter用于将内容写入文本文件中 4 //path: 要写 ...

NPOI使用手册

目录 1.认识NPOI 2. 使用NPOI生成xls文件 2.1 创建基本内容 2.1.1创建Workbook和Sheet 2.1.2创建DocumentSummaryInformation和SummaryInformation 2.1.3创建单元格 2.1.5创建批注 2.1.6创建页眉和页脚 2 ...

C#类库推荐 拼多多.Net SDK,开源免费!

背景介绍 近两年拼多多的发展非常迅速,即便口碑一般,也没有网页端,奈何我们已经全面小康,6亿月收入1000以下,9亿月收入2000以下,所以因为价格原因使用拼多多的用户也越来越多了。同样的,拼多多也开放了部分API接口,提供给开发者使用,开放平台也是一如既往的拼多多,没法跟淘宝、京东等相比,至今没有 ...

继承自List<T>的类通过NewtonJson的序列化问题

什么问题? NewtonSoft.Json是我们最常用的Json组件库之一了。这里来讨论下使用NewtonSoft.Json序列化List<T>子类的情景。序列化使用了类JsonSerializer。 情景重现 如果我们有一个Field实体类。另有一个FieldGroup类表示Field的分组,并携 ...

消除代码中的坏味道,编写高质量代码

消除代码中的坏味道,编写高质量代码 Intro 想要写出较好的代码,保证代码的高质量需要时刻警惕代码中的坏味道,今天分享一下,我觉得平时写的代码中可能会出现的坏味道代码的一些示例 常见的坏味道代码 Bug Logically(null check etc.) 严格的来说,这可能是一个 BUG 级别的 ...

AES字节数组加密解密流程

AES类时微软MSDN中最常用的加密类,微软官网也有例子,参考链接:https://docs.microsoft.com/zh-cn/dotnet/api/system.security.cryptography.aes?view=netframework-4.8但是这个例子并不好用,限制太多,通用 ...

从IL角度彻底理解回调_委托_指针

#从IL角度彻底理解回调_委托_指针 #1.创作此文的背景 又是一个月的时间没写博文,瞎忙活,来武汉重新上班了,武汉这边中小学都开学了,很安全,大家可以放心 来商务出差个人游玩,重新招了个后端进团队,一个是在QQ技术群认识的,在他身上放佛看到了过去的自己,希 望以后能帮我分担更多的工作,得组织培训, ...

c#Socket通信实例

在上一篇文章中介绍了Socket基础—TCP与UDP协议和他们之间的区别,这篇文章参考另一位前辈的博文重点记录下Socket的原理及两种协议的开发过程。 一、Socket通信简介 1.按惯例先来介绍下socket Windows中的很多东西都是从Unix领域借鉴过来的,Socket也是一样。在Uni ...

C#Socket编程之TCP与UDP简介

作为一名软件开发人员,熟悉TCP和UDP两兄弟是必要的。TCP与UDP是隶属于TCP/IP协议族的两员大将,从TCP/IP诞生以来经历了几十年的发展,可以这么说不管世界如何变迁、无论沧海已变几多桑田,管它传统互联网还是移动互联网,都离不开他们,现在,今后很长一段时间都离不开。 ...

代码重构之法——方法重构分析

代码重构之法——方法重构分析 Intro 想要写出比较优秀的代码,需要时刻警惕代码中的坏味道,今天想写一篇文章介绍一下如何分析你的方法是不是需要考虑重构 一个方法通常有三个部分组成,输入(Input),输出(Output),方法体(Method Body),我们就从这三个方面来分析一个方法是否该考虑 ...

C#-特性(Attribute)

概念 特性是一种允许我们向程序的程序集添加元数据的语言结构,它是用于保存程序结构信息的某种特殊类型的类。可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的。MSDN解释为:特性提供功能强大的方法,用以将元数据或声明信息与代码(程序集、类型、方 ...

Linq 下的扩展方法太少了,您期待的 MoreLinq 来啦

一:背景 1. 讲故事 前几天看同事在用 linq 给内存中的两个 model 做左连接,用过的朋友都知道,你一定少不了一个叫做 DefaultIfEmpty 函数,这玩意吧,本来很流畅的 from...in...join, 突然搞进来这么一个函数,真的是恶心他妈给恶心开门,恶心到家了,简化后的代码 ...

<1···101112···49>