C#采用的是“四舍六入五成双”、上取整、下取整
摘要:c# 四舍五入、上取整、下取整Posted on2010-07-28 12:54碧水寒潭阅读(57826) 评论(4)编辑收藏在处理一些数据时,我们希望能用“四舍五入”法实现,但是C#采用的是“四舍六入五成双”的方法,如下面的例子,就是用“四舍六入五成双”得到的结果:double d1 = Math...
阅读全文
Task的异步模式
摘要:基于Task的异步模式的定义命名,参数和返回类型在TAP(Task-based Asynchronous Pattern)中的异步操作的启动和完成是通过一个单独的方法来表现的,因此只有一个方法要命名。这与IAsyncResult模式或者APM(Asynchronous Programming Mod...
阅读全文
C#程序(含多个Dll)合并成一个Exe
摘要:把C#程序(含多个Dll)合并成一个Exe的超简单方法开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了。但是,很多时候我们本想开发一款只需要一个exe就能完美运行的小工具。那该怎么办呢?下文介绍一种超简单的方法,不用写一行代码就可轻松实现。这里我们需...
阅读全文
AutoMapper使用
摘要:AutoMapper使用前言:前篇搭建了下WCF的代码,就提到了DTO的概念,对于为什么要有这么一个DTO的对象,上章可能对于这点不太详尽,在此不厌其烦再来提提它的作用:从安全上面考虑,领域Model都带有领域业务,让Client端引用Domain Model就意味着Client端可以绕过应用层直接...
阅读全文
C#网络编程
摘要:C#网络编程阅读目录:基础Socket编程多线程并发阻塞式同步IO基础在现今软件开发中,网络编程是非常重要的一部分,本文简要介绍下网络编程的概念和实践。Socket是一种网络编程接口,它是对传输层TCP、UDP通信协议的一层封装,通过友好的API暴露出去,方便在进程或多台机器间进行网络通信。Sock...
阅读全文
异步编程
摘要:异步编程最佳实践避免async void异步方法返回类型有3种,void,Task和Task,void尽量不要使用。原理剖析:使用async void标记的方法有不同的错误处理语义。async Task或async Task方法抛出异常时,异常会被捕获并放到Task对象上。然而,标记为async v...
阅读全文
Async和Await进行异步编程
摘要:使用Async和Await进行异步编程(C#版 适用于VS2015)你可以使用异步编程来避免你的应用程序的性能瓶颈并且加强总体的响应。然而,用传统的技术来写异步应用是复杂的,同时编写,调试和维护都很困难。VS2012介绍了简单的方法,那就是异步编程,它在.Net Framework 4.5和Wind...
阅读全文
C#开发中使用配置文件
摘要:C#开发中使用配置文件对象简化配置的本地保存0x00 起因程序的核心是数据和逻辑,开发过程中免不了要对操作的数据进行设置,而有些数据在程序执行过程中被用户或程序做出的修改是应该保存下来的,这样程序在下次运行时可以保留上次的一些设置。同样有时我们希望修改某些设置而不需要重新编译程序,这样也可以通过修改...
阅读全文
Lambda表达式和表达式树
摘要:Lambda表达式和表达式树 lambda表达式是C#3.0中引入的比匿名方法更加简洁的一种语法,可用于创建委托或表达式树类型的匿名函数。Lambda表达式本身可划分为两种类型:语句Lambda和表达式Lambda。表达式Lambda: 要创建lambda表达式,则在lambda运算符=>的左侧指定...
阅读全文
C#中实现并发
摘要:C#中实现并发的几种方法的性能测试0x00 起因去年写的一个程序因为需要在局域网发送消息支持一些命令和简单数据的传输,所以写了一个C/S的通信模块。当时的做法很简单,服务端等待链接,有用户接入后开启一个线程,在线程中运行一个while循环接收数据,接收到数据就处理。用户退出(收到QUIT命令)后线程...
阅读全文
Lazy<T>延迟初始化
摘要:延迟初始化:Lazy1. 概述我们创建某一个对象需要很大的消耗,而这个对象在运行过程中又不一定用到,为了避免每次运行都创建该对象,这时候延迟初始化(也叫延迟实例化)就出场了。延迟初始化出现于.NET 4.0,主要用于提高性能,避免浪费计算,并减少程序内存要求。也可以称为,按需加载。2. 基本语法La...
阅读全文
LInq 与lambda表达式
摘要:LInq 与lambda表达式LinQ是我们常用的技术之一。因为我们绕不开的要对数据进行一系列的调整,如 排序、 条件筛选、求和、分组、多表联接 等等。lambda则是我们常用的语法糖,配合linq使用天衣无缝,不知不觉就用上了,主要还是看着代码简洁,逼格够高。。。接下来我们就来看看常用的有哪些先来...
阅读全文
NET生成二维码
摘要:如何用.NET生成二维码? 二维码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,国外对二维码技术的研究始于20世纪80年代末,在二维码符号表示技术研究方面已研制出多种码制,常见的有PDF417、QR Code、Code 49、Code 16K、Code...
阅读全文
C#分布式缓存Couchbase
摘要:C#分布式缓存Couchbase使用一、简介 目前C#业界使用得最多的 Cache 系统主要是 Memcached和 Redis。 这两个 Cache 系统可以说是比较成熟的解决方案,也是很多系统当然的选择。 Memcache的开发团队开发了Membase,支持多台服务器集群,数据的切片和...
阅读全文
SWI-Prolog
摘要:上个月突然看到Prolog这门语言,它特殊的语法吸引了我,但是经过我一段时间的学习,发现它也不像网络上传说的那样神奇,不过我依然对它很感兴趣,有前辈说Prolog本身并不强大,但是用来作为一门辅助语言解决一些特殊的问题还是很有效的,碰巧我是干C#的,就查了查怎样把Prolog跟C#结合起来,但是我...
阅读全文
二维码(QR Code)生成与解析
摘要:二维码(QR Code)生成与解析写在前面经常在大街上听到扫码送什么什么,如果真闲着没事,从头扫到位,估计书包都装满了各种东西。各种扫各种送,太泛滥了。项目中从没接触过二维码的东东,最近要使用,就扒了扒网络,发现关于解析二维码的类库还是非常多的,这里就选择一个做一个demo,玩玩。一个例子关于二维码...
阅读全文
C#版的抓包软件
摘要:C#版的抓包软件[创建时间:2015-09-10 22:37:04]NetAnalyzer下载地址不好意思啊,NetAnalyzer停更有点长了,今天继续填坑^&^NetAnalyzer实现结构在上一篇中介绍一点VC++开发环境的配置,与基本的运行方式。因为NetAnalyzer使用的C#作为开发语...
阅读全文
中文分词
摘要:jieba中文分词的.NET版本:jieba.NET2015-09-08 20:05 by Anders Cui,191阅读,3评论,收藏,编辑简介平时经常用Python写些小程序。在做文本分析相关的事情时免不了进行中文分词,于是就遇到了用Python实现的结巴中文分词。jieba使用起来非常简单,...
阅读全文
Websocket实例
摘要:C#版Websocket实例websocket有java、nodejs、python,Php等等版本,我使用的是C#版本,服务器端是Fleck,github地址:https://github.com/statianzo/Fleck这篇博客就是引用上面的一个例子教你如何使用客户端和服务器端来使用web...
阅读全文
MVC 如何在一个同步方法(非async)方法中等待async方法
摘要:MVC 如何在一个同步方法(非async)方法中等待async方法问题首先,在ASP.NET MVC 环境下对async返回的Task执行Wait()会导致线程死锁。例: public ActionResult Asv2() { //dead loc...
阅读全文