17 热度

A Complete C# Arrays Tutorial

C# array is a collection of data types such as int, strings, or doubles. This complete tutorial on arrays starts with defining arrays and array types in C# and how to use Arrays in a .NET application using C#.

收录时间: 2019-08-23
分类: C#开发
贡献者: Rector
22 热度

委托和lambda表达式,Action和Func

我们为什么要有委托?任何东西存在即合理,不合理的也会被时间淘汰掉,委托既然存在肯定有存在的必要,我们来看一下什么时候可以用到委托。

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

Create a Blockchain Explorer in C#

Blockchain technology is already central to major cryptocurrencies like Bitcoin and its applications are ever growing. A blockchain is simply a list of records, called blocks. Each block contains information about transactions - and also confirms the validity of the previous block with something cal...

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

Logging in C# .NET Modern-day Practices: The Complete Guide

Logging is a big part of software development for many years now. One can argue that a logging mechanism is a must-have part of any application or library. I would agree with that statement.Logging has a crucial part to play in a scenario where you can’t use interactive debugging (that is, attaching...

收录时间: 2019-08-14
分类: C#开发
贡献者: Rector
36 热度

QuickSort in C#

Quick Sort is the consummate overachiever.  Graduated first in his class, runs a successful business, owns a boat, married to a brilliant accountant, with two beautiful children.  He does not slow down; he does everything fast and thoroughly. Keeping up with his family is quite the endeavor...

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

C# 委托(delegate)、泛型委托和Lambda表达式

# 什么是委托1、从数据结构来讲,委托是和类一样是一种用户自定义类型。2、委托是方法的抽象,它存储的就是一系列具有相同参数和返回类型的方法的地址。调用委托的时候,委托包含的所有方法将被执行。# 委托声明、实例化和调用1、声明委托是一种特殊的类,因此委托的声明与类的声明方法类似,在任何可以声明类的地方都可以声明委托。委托声明用delegate关键字,同时委托要指明方法参数和返回值,写法与方法类似。综合类的声明和方法的声明,委托声明写成如下形式:[访问修饰符] delegate 返回值类型 委托名 (形参列表);public delegate void MyDel();//定义了一个委托MyDel...

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

C# 中新增类型的命名空间只需部分与其他命名空间名称相同即可破坏源码兼容性

我只是增加库的一个 API,比如增加几个类而已,应该不会造成兼容性问题吧。对于编译好的二进制文件来说,不会造成兼容性问题;但——可能造成源码不兼容。本文介绍可能的源码不兼容问题。

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

C#中谁最快:结构还是类?

前言在内存当道的日子里,无论什么时候都要考虑这些代码是否会影响程序性能呢?在现在的世界里,几乎不会去考虑用了几百毫秒,可是在特别的场景了,往往这几百毫米确影响了整个项目的快慢。通过了解这两者之间的性能差异,希望帮助大家在合适的场景里选择正确的编码。实例public class PointClass{public int X { get; set; }public int Y { get; set; }public PointClass(int x, int y){X = x;Y = y;}}public class PointClassFinalized : PointClass{public...

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

C#各版本新增加功能

本系列文章主要整理并介绍 C# 各版本的新增功能。

收录时间: 2019-07-24
分类: C#开发
贡献者: Rector
82 热度

C# 针对特定的条件进行锁操作,不用lock,而是mutex

C# 针对特定的条件进行锁操作,不用lock,而是mutex。背景:用户领取优惠券,同一个用户需要加锁验证是否已经领取,不同用户则可以同时领取。

收录时间: 2019-07-23
分类: C#开发
贡献者: Rector
59 热度

C#开发中常用的加密解密方法

相信很多人在开发过程中经常会遇到需要对一些重要的信息进行加密处理,今天给大家分享我个人总结的一些加密算法:常见的加密方式分为可逆和不可逆两种方式    可逆:RSA,AES,DES等    不可逆:常见的MD5,SHAD等一、MD5消息摘要算法我想这是大家都常听过的算法,可能也用的比较多。那么什么是MD5算法呢?MD5全称是message-digest algorithm 5,简单的说就是单向的加密,也就是说无法根据密文推导出明文。MD5主要用途:1、对一段信息生成信息摘要,该摘要对该信息具有唯一性,可以作为数字签名2、用于验证文件的有效性(是否有丢失或损坏的数据)3、对用户密码的加密4、在哈...

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

C# 管道式编程

受 F# 中的管道运算符和 C# 中的 LINQ 语法,管道式编程为 C# 提供了更加灵活性的功能性编程。通过使用 扩展函数 可以将多个功能连接起来构建成一个管道。

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

在C#中使用Irony实现SQL语句的解析

在上一篇博文中,我介绍了LOGO语言的C#实现,在该项目中,我使用了.NET下的语法解析框架:Irony。Irony框架最开始的时候是由Roman Ivantsov发布在codeplex上的一个开源项目,它使用MIT协议开源。由于2017年的时候,微软关闭了codeplex服务,为了让这个优秀的项目能够继续为人所用,我将其复制到了我的Github账号下,并将其移植到NET Standard 2.0,地址是:https://github.com/daxnet/irony。于是,Irony目前可以在.NET Core下使用了。事实上,Github中有很多Irony的版本,但大多数都不支持.NET Core。

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

C#8.0: 在 LINQ 中支持异步的 IAsyncEnumerable

C#8.0: 在 LINQ 中支持异步的 IAsyncEnumerableC# 8.0中,提供了一种新的IAsyncEnumerable接口,在对集合进行迭代时,支持异步操作。比如在读取文本中的多行字符串时,如果读取每行字符串的时候使用同步方法,那么会导致线程堵塞。IAsyncEnumerable可以解决这种情况,在迭代的时候支持使用异步方法。也就是说,之前我们使用foreach来对IEnumerable进行迭代,现在可以使用await foreach来对IAsyncEnumerable进行迭代,每个项都是可等待的。这种新的接口称为async-streams,将会随.NET Core 3发布。...

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

C# 在基类定义好方法让子类继承接口就能实现

在 C# 里面,接口的定义只需要类里面存在和接口声明相同的方法或属性就可以,而存在的方法或属性是在子类定义的还是基类里面定义的都无所谓。也就是在基类里面写好了方法,但不继承接口,等子类继承接口的时候就不需要子类实现方法。通过这样的方法可以在基类里面添加一些辅助方法,而这些方法默认不给子类开启,除非子类继承了接口...

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

【翻译】Keras.NET简介 - 高级神经网络API in C#

Keras.NET是一个高级神经网络API,它使用C#编写,并带有Python绑定,可以在Tensorflow、CNTK或Theano上运行。其关注点是实现快速实验。因为做好研究的关键是:能在尽可能短的时间内从一个想法发展出结果。 如果你需要一个能实现以下需求的深度学习库,那么请使用Keras:允许简单快速的原型制作(通过用户友好性、模块化、扩展性)。支持卷积网络和循环网络,以及两者的组合。在CPU和GPU上无缝运行。 Keras.NET使用了...

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

C#—使用InstallerProjects打包桌面应用程序

打包桌面应用程序实在是一个不常使用的东西,偶尔使用起来经常会忘东忘西的耽误时间,因此,这篇文章多以图片记录过程,也是用于备忘。 下载打包工具C#打包桌面应用程序有很多种方法,这里介绍一种使用Microsoft Visual Studio Installer Projects工具打包的方法。首先,我们先创建一个Windows桌面应用,如图:接下来我们选择工具,点击扩展和更新,如图:然后我们得到界面如下,如图:界面默认显示的是已安装的内容,我们仔细看下内容,会发现,这里都是我们已经安装过的工具,在仔细看,我们会发现,这里大部分工具的创建者都是microsoft,也就是说,这里的工具都是官方给我...

收录时间: 2019-07-04
分类: C#开发
贡献者: Rector
102 热度

C#/.NET应用程序编程开发中如何使用反射设置对象的属性值?

C#/.NET应用程序编程开发中如何使用反射设置对象的属性值?

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

C# 8 Nullable Reference Types Update

Work continues on nullable refence types for C# 8, revealing edge cases that need to be addressed before the final release and new opportunities for reducing the amount of boilerplate developers have to write.

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

反射机制 小小谈

反射是一些面向对象程序设计语言提供的针对类对象元数据(Metadata)的一种访问机制。元……数据??什么高深莫测的武功??啊,诚然,一旦涉及到“元XXX”事情通常就开始变得无比抽象,以至于我不禁念叨起那句诀太极生两仪,两仪生四象,四象生八卦……不过元数据这个概念在数据库里还是比较常见的,比如,某个关系型数据库里有张...

收录时间: 2019-06-26
分类: C#开发
贡献者: Rector
AD 友情赞助