18 热度

C# 操作Word目录——生成、删除目录

C# 操作Word目录——生成、删除目录 目录,是指书籍、文档正文前所载的目次,将主要内容以一定次第顺序编排,起指导阅读、检索内容的作用。在Word中生成目录前,需要设置文档相应文字或者段落的大纲级别,根据设定的大纲级别可创建文档的交互式大纲,即在Word文档左侧导航窗口中可显示为如同目录的标题大纲,通过点击相应级别的内容,可跟踪阅读位置或者快速移动相应的文档内容。下面将介绍如何通过C# 编程操作...

收录时间: 2019-02-19
分类: C#开发
贡献者: Rector
21 热度

The Ultimate Guide to Asynchronous Programming in C# and ASP.NET

I gave a talk at CodeMash 2019 that I originally submitted as a joke. It was called "Hold Up, Wait a Minute, Let Me Put Some Async In It," about refactoring an existing synchronous C# and ASP.NET application into one which utilizes the async and await keywords and asynchronous programming in general.

收录时间: 2019-02-18
分类: C#开发
贡献者: Rector
18 热度

Using Stopwatch and ContinueWith to Measure Task Execution Time in C#

Lately, as part of the major refactoring I've been writing about, my team and I have decided to introduce asynchronous programming to a project we've been trying to improve. For the most part, that work has been useful and relatively easy, but lately we've been running into an issue where several asynchronous tasks are seeming to take longer than they should. The pileup of tasks is causing us to try to determine which one is taking a while.

收录时间: 2019-02-18
分类: C#开发
贡献者: Rector
39 热度

[小技巧]C#中如何为枚举类型添加描述方法

背景在我们的日常开发中,我们会经常使用枚举类型。有时我们只需要显示枚举的值或者枚举值对应名称, 但是在某些场景下,我们可能需要将枚举值显示为不同的字符串。例: 当前我们有如下枚举Levelpublic enum Level{//BadB = -1,//NormalN = 0,//GoodG = 1,//Very GoodVG = 2}这个枚举有4个可选值B, N, G, VG。 现在我...

收录时间: 2019-02-15
分类: C#开发
贡献者: Rector
31 热度

PDF File Writer C# Class Library (Version 1.21.1)

The PDF File Writer C# class library PdfFileWriter allows you to create PDF files directly from your .net application. The library shields you from the details of the PDF file structure. To use the library, you need to add a reference to the attached PdfFileWriter.dll class library file, add a using PdfFileWriter statement in every source file that uses the library and include the PdfFileWriter.dll with your distribution. For more details go to 4. Installation. Alternatively, you can include the source code of the library with your application and avoid the need to distribute a separate data link library file. The minimum development requirement is .NET Framework 4.6.2 (Compiled with Visual Studio 2017).

收录时间: 2019-02-13
分类: C#开发
贡献者: Rector
55 热度

Lambda in Java VS in C#

核心+变化“凡是钱能解决的问题,就不是大问题。有很多问题是钱无法解决的,比如生老病死,比如不再相爱。”,看过《蜗居》的朋友一眼就能认出来。虽然这部电视剧讲的是chugui,但是毫无违和感,我当时都看出来真感情了。海藻和宋思明虽然是因借钱开始的,但是后面的发展却远远超出了它。这里面钱是问题的核心,后面发生的事情都是围绕着核心的变化。社会是一张庞大而复杂的网,有节点和连...

收录时间: 2019-02-04
分类: C#开发
贡献者: Rector
AD 友情赞助
65 热度

基于Socket通讯(C#)和WebSocket协议(net)编写的两种聊天功能(文末附源码下载地址)

今天我们来盘一盘Socket通讯和WebSocket协议在即时通讯的小应用——聊天。理论大家估计都知道得差不多了,小编也通过查阅各种资料对理论知识进行了充电,发现好多demo似懂非懂,拷贝回来又运行不了,后来一咬牙,决定自己写一个demo出来,所以我们这里就不做理论延伸,只做demo演示,有不懂的可以在评论区讨论讨论。demo演示有两个,一个C#的Windows窗体应用程序,一个是ne...

收录时间: 2019-01-30
分类: C#开发
贡献者: Rector
56 热度

C# 8 的新提案:new 关键字类型推断

在很多情况下,一个地方只允许出现一种可能的类型。C# 仍然要求你明确列出类型,但如果目标类型“new”表达式提案被采用,那么就不再需要这些样板代码。 从表面上看,这个特性看起来与 var 关键字恰好相反。它不是根据表达式推断出变量类型,而是从变量推断出表达式的类型。以下是来自提案使用当前语法和建议语法的对比示例。

收录时间: 2019-01-28
分类: C#开发
贡献者: Rector
62 热度

浅析C# Dictionary实现原理

一、前言本篇文章配图以及文字其实整理出来很久了,但是由于各种各样的原因推迟到现在才发出来,还有之前立Flag的《多线程编程》的笔记也都已经写好了,只是说还比较糙,需要找个时间整理一下才能和大家见面。对于C#中的Dictionary类相信大家都不陌生,这是一个Collection(集合)类型,可以通过Key/Value(键值对的形式来存放数据;该类最大的优点就是它查找元素的时间复杂度接近O(1)...

收录时间: 2019-01-27
分类: C#开发
贡献者: Rector
63 热度

C# 静态构造函数,静态变量执行顺序(升华版)

上篇 是基本语法基础下的执行顺序,包括继承这个维度下的执行顺序,我们可以依照的规律顺下来,下面我们看下一些摸不到头脑的情况我们实验 一个 类中的方法 去调用另一个非继承类的情况,  我们主要看下  静态构造函数 和没有静态构造函数执行顺序上的差别  class Program{static void Main(string[] args){ ...

收录时间: 2019-01-25
分类: C#开发
贡献者: Rector
70 热度

加强版二进制读写类:BinaryDataReader/Writer

每次我要用到二进制数据加载、解析、保存这类功能的时候,我都用的 .NET 自带的 BinaryReader 和 BinaryWriter 类. 普通数据还好,如果是某些甲方爸爸的特殊格式数据,就有点力不从心了. 处理的数据格式越复杂,我越觉得 .NET 类里还是少了一些常用又实用的东西,尤其是: 处理以不同于本机字节顺序存储的数据 处理非 .NET格式的字符串,比如以 0 结尾的字符串 读写重复的数据类型而不用一遍又一遍地循环 临时用不同编码的字符串读写数据流 文件内高级定位,例如临时定位新位置

收录时间: 2019-01-20
分类: C#开发
贡献者: Rector
58 热度

C# Deadlocks in Depth - Part 1

For me, multi-threading programming is one of the most fun things I do as a developer. It’s fun because it’s hard and challenging. And I also get a particular sense of satisfaction when solving deadlo...

收录时间: 2019-01-18
分类: C#开发
贡献者: Rector
89 热度

C# 8中的可空引用类型

原文:Nullable Reference Types In C# 8作者:.NET Core Tutorials译者:Lamond Lu现状可空引用类型?自从我开始学习.NET, 引用类型一直就是可空的。然而初级程序员通常会告诉你值类型不可空,引用类型可空。事实上,在.NET中有一种语法可以表明一个值类型是否可空。int? nullableInt1 = null;Nu...

收录时间: 2019-01-12
分类: C#开发
贡献者: Rector
87 热度

C#多线程之旅~上车吧?

前言:前几天,写了一篇关于多线程使用的文章,【线程使用】用法得到不少博友的好评,博主这几天加班写文章,把剩下的高级使用给写完,期望可以得到博友的追赞吧,那么废话不多说,开始我们的C#高级用法之旅!!前面介绍了适合在应用程序中使用线程的两种情况。但是,在一些情况下,创建新线程是不利的。在此不会列出不适台创建新线程的所有情况,只是说明一下在什么情况下不适合创建新线程。本节主要介绍两种情况:第一...

收录时间: 2019-01-10
分类: C#开发
贡献者: Rector
73 热度

Dependency Injection in C# using Autofac

In this video, you’re going to learn about what dependency injection frameworks are and how they help your application’s dependency management. We take a look at the available dependency injection frameworks for the .NET platform. Next, we learn the fundamentals of Autofac.

收录时间: 2019-01-10
分类: C#开发
贡献者: Rector
124 热度

谨慎使用 FileInfo.Exists 实例方法,而是使用 File.Exists 静态方法替代

如果你在代码中使用了 FileInfo.Exists 实例方法来判断一个文件是否存在,也许会发现此方法可能错误地判断来一个文件是否真的存在。这是一个坑。 本文将介绍坑的原因,并提供填坑的办法。 本文内容 问题代码 原因分析 解决办法 问题代码 我们使用两种不同的方式判断文件是否存在

收录时间: 2019-01-01
分类: C#开发
贡献者: Rector
134 热度

C#中关于增强类功能的几种方式

C#中关于增强类功能的几种方式本文主要讲解如何利用C#语言自身的特性来对一个类的功能进行丰富与增强,便于拓展现有项目的一些功能。拓展方法扩展方法被定义为静态方法,通过实例方法语法进行调用。方法的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。仅当使用 using 指令将命名空间显式导入到源代码中之后,扩展方法才可使用。namespace Extensions{pu...

收录时间: 2018-12-27
分类: C#开发
贡献者: Rector
217 热度

C# 在 8.0 对比 string 和 string? 的类型

在 C# 8.0 的时候提供了可空字符串的判断,但是可空字符串和字符串的类型是不是不同的? 打开 VisualStudio 2019 这时就不能再使用 VisualStudio 2017 因为不支持 然后创建一个 dotnet core 项目,打开项目文件添加下面代码 先详细介绍每一句话的意思 第一句 OutputType 的意思是输出是什么,这里选 Exe 就是输出控制台 通过 TargetFramework 可以设置平台,更多可以设置请看 从以前的项目格式迁移到 VS2017 新项目格式 在 LangVersion 设置使用的语言版本,详细请看 VisualStudio 使用三个方法启动最新 C# 功能 最后通过 NullableReferenceTypes 开启可空类型的判断

收录时间: 2018-12-20
分类: C#开发
贡献者: Rector
125 热度

C# 创建、更改Excel命名区域(NamedRange)

C# 创建、更改Excel命名区域(NamedRange)创建命名区域是指给选定的某个单元格或多个单元格区域设置名称,目的是方便我们在文件中的其他地方对该单元格区域进行引用能够简化公式引用或者方便数据管理。下面记录了具体的C#示例代码。这里创建命名区域分为了2种情况,分别对应不同的添加方法以及命名区域的引用范围,即:1. 全局命名区域(方法:workbook.NameRanges.Add() ...

收录时间: 2018-12-11
分类: C#开发
贡献者: Rector
139 热度

C# 8中的范围类型(Range Type)

C# 8.0中加入了一个新的范围类型(Range Type)。 这里我们首先展示一些代码,并一步一步为代码添加一些不同的东西, 为大家展示一下范围类型的功能和用法。 我们最原始的代码如, 这里我们显示的定义了我们查询数组的索引1-3, 并输出他们的值。毫无疑问,当我们运行程序之后,代码结果如下:

收录时间: 2018-12-11
分类: C#开发
贡献者: Rector