用 C# 编写 C# 编译器,先有鸡还是先有蛋?

前段时间翻译了一篇文章 微软是如何重写 C# 编译器并使它开源的,文章讲了微软用 C# 重写 C# 编译器的坎坷路,引发了一些童鞋的思考:用 C# 编写 C# 编译器(Roslyn),那么 C# 编译器本身是由谁来编译的?C# 语言编写了 C# 编译器,而 C# 语言又是由 C# 编译器编译的,这不 ... »

C# 处理PPT水印(二)——去除水印效果(文本水印、图片水印)

本文将对C#处理PPT幻灯片中的水印进一步说明和介绍。在C# 处理PPT水印(一)一文中,分享了如何插入水印效果的方法,包括插入文字水印效果、插入图片作为水印效果两种情况,那对于不需要水印效果的情况,要如何来去除PPT中已有的水印效果呢,具体实现步骤,可参考下面将要讲述的方法。 工具 Free Sp ... »

.NET(c#) 移动APP开发平台 - Smobiler(2) - 平台介绍

看到大家很多人在后台问我一些问题,所以准备写一个系列了,下面给个目录 目录: .NET(c#) 移动APP开发平台 - Smobiler(1) 环境的搭建及上手第一个应用 类似开发WinForm的方式,使用C#开发Android和IOS的移动应用?听起来感觉不可思议,但是实际上确实很强大,那么Smo ... »

C# 用qq邮箱发邮件

一、在企业的QQ邮箱中开启POP3/SMTP服务 开启服务时,授权密码保存好。 二、示例 public static string UserName = ""; // 企业邮箱 public static string UserPass = ""; //邮箱开启POP3/SMTP服务,开启后的授权码 ... »

微软是如何重写C#编译器并使它开源的

译者:王亮作者:Mads Torgersen (C# Language PM at Microsoft)原文:http://t.cn/EPOG96O Roslyn 是 C# 和 Visual Basic.NET 的开源编译器的代号。以下是它如何在过去十年微软公司最暗淡的环境中开始,并成为开源、跨平台 ... »

封装继承多态

封装:把事物封装成类,私有化属性. 继承:共同的特性封装在父类,子类就有父类的属性 父类已经实现了的方法,子类也有需要前面+New 隐藏父类的方法,就不报错了,有这个语法,面试的时候问过,不推荐用. 父类; public void Test() 子类:public New void Test() 多 ... »

小工具?不,这是小工具的集合!

ok,好像很久很久没有写博客了, emmmm,一个是没时间,另一个,应该是感觉自己知道的太少了吧,不敢写了 原本是打算写一个系列,结果发现很多地方自己都是有些不够的,所以就一直放着了, 这次趁着国庆,补上一篇吧,算是一个小工具的实例,文末会提供源码下载。 就是不知道大佬们有没有遇到过这种情况啊, 可 ... »

[Abp 源码分析]十五、自动审计记录

0.简介 Abp 框架为我们自带了审计日志功能,审计日志可以方便地查看每次请求接口所耗的时间,能够帮助我们快速定位到某些性能有问题的接口。除此之外,审计日志信息还包含有每次调用接口时客户端请求的参数信息,客户端的 IP 与客户端使用的浏览器。有了这些数据之后,我们就可以很方便地复现接口产生 BUG ... »

分享一个C++与Python开发的中小型通用游戏服务端框架(跨平台,开源,适合MMORPG游戏)

在开发一款游戏项目时,在立项时我们往往会考虑或者纠结很多,比如: 1,对于开发来说:服务端和客户端应该选择什么语言?用什么协议通信才更效率?协议后期如何维护?Socket是用长连接还是短连接?TCP还是UDP?客户端资源、配置表、代码如何进行热更新?等等。 2,对于策划来说:配置表使用什么比较方便? ... »

使用 dotTrace 分析 .NET Core 代码问题

0.背景 在项目开发之中,前期可能主要以保证任务完成为主,对于性能优化主要在于开发完成之后再来进行。可能在测试的时候发现部分接口的代码执行时间过长,但是又毫无头绪,这个时候你就需要性能分析工具来协助你排查问题了。 常规性能分析借助于 Visual Studio 强大的性能测试工具就可以进行分析,但是 ... »

体验 QQ机器人C# SDK 1.X 特性总结

主要特性 依赖注入 框架本身采用 Autofac 作为依赖注入框架。进行插件开发时,必然会使用到该框架。建议开发者阅读官方文档熟悉其用法。https://autofac.readthedocs.io/en/latest/getting-started/index.html 日志 依赖于 Liblog ... »

[Abp 源码分析]十四、DTO 自动验证

0.简介 在平时开发 API 接口的时候需要对前端传入的参数进行校验之后才能进入业务逻辑进行处理,否则一旦前端传入一些非法/无效数据到 API 当中,轻则导致程序报错,重则导致整个业务流程出现问题。 用过传统 ASP.NET MVC 数据注解的同学应该知道,我们可以通过在 Model 上面指定各种数 ... »

C#单链表

一、首先写链表规范接口 二、写节点类 三、链表规范实现 到此链表就写完啦,要使用它只需要 /*获取链表单例对象*/ LinkList<T> link = LinkList<T>.GetInstance(); 如此就可以获取到链表对象了. 下面来个应用,写个排行榜吧. 一、写个用户实体类 二、写个排名 ... »

C# 创建、读取Excel公式

对于数据量较大的表格,需要计算一些特殊数值时,我们通过运用公式能有效提高我们数据处理的速度和效率,对于后期数据的增删改查等的批量操作也很方便。此外,对于某些数值的信息来源,我们也可以通过读取数据中包含的公式来获取。下面的示例中将分享通过C# 来创建、读取Excel公式的方法。 工具使用 Spire. ... »

【 C# 数据结构】(一) -------------------------- 泛型带头节点的单链表,双向链表实现

在编程领域,数据结构与算法向来都是提升编程能力的重点。而一般常见的数据结构是链表,栈,队列,树等。事实上C#也已经封装好了这些数据结构,在头文件 System.Collections.Generic 中,直接创建并调用其成员方法就行。不过我们学习当然要知其然,亦知其所以然。 本文实现的是链表中的单链 ... »

ASP.NET Core Middleware

中间件(Middleware)是ASP.NET Core中的一个重要特性。所谓中间件就是嵌入到应用管道中用于处理请求和响应的一段代码。ASP.NET Core Middleware可以分为两种类型: Conventional Middleware IMiddleware Conventional M ... »

C# 8中的Async Streams

关键要点 异步编程技术提供了一种提高程序响应能力的方法。 Async/Await模式在C# 5中首次亮相,但只能返回单个标量值。 C# 8添加了异步流(Async Streams),允许异步方法返回多个值,从而扩展了其可用性。 异步流提供了一种用于表示异步数据源的绝佳方法。 异步流是Java和Jav ... »

C# 在PPT幻灯片中创建图表

图表能够很直观的表现数据在某个时间段的变化趋势,或者呈现数据的整体和局部之间的相互关系,相较于大篇幅的文本数据,图表更增加了我们分析数据时选择的多样性,是我们挖掘数据背后潜在价值的一种更为有效地方式。在做数据汇报时,常用到PPT幻灯片来辅助工作,下面的示例中将演示如何通过C#编程在PPT幻灯片中创建 ... »