随笔分类 - .Net / C#
摘要:原文地址 微软终于正式发布了Visual Studio 2015产品家族的RTM版本,此次发布体现了微软在开发工具发展方向上的转变迈出了重要的一步,他们致力于提供一种支持在所有主流应用平台上进行应用开发的工具,不仅包括Windows产品家族,还包括iOS与Android平台。对于VS2015...
阅读全文
摘要:原文地址 软件开发中的性能优化对程序员来说是一个非常重要的问题。一个小问题可能成为一个大的系统的瓶颈。但是对于程序员来说,通过自身去优化代码是十分困难的。幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和性能测试,从而大大简化程序员进行代码性能优化的过程。MSDN杂志2011年7月份曾发布主题为“.NET代码分析工具和技术”的那一期,让广大程序员收获颇丰。四年过去之后,这些工具又进一步做出...
阅读全文
摘要:原文地址 本文内容 命令式处理 函数式处理 函数式编程的优势 所有 Java 下一代语言都包括函数式编程结构,让您可以从一个更高的抽象层面来思考问题。然而,语言间术语的不同使得难以看到类似的结构。本期文章将展示常见的函数式编程结构在 Java 下一代语言中的表示方式,指出那些功能在实现细节上的一些细微差别。 当垃圾回收成为主流时,它消除了所有类别的难以调试的问题,使运行...
阅读全文
摘要:原文地址 log4net.Layout.PatternLayout,是一个灵活的布局,配置模式字符串。 线程安全。该类型的 Public static 成员对多线程操作是安全的。实例成员不保证线程安全。 注意: 该类的目标是把 LoggingEvent 格式化成字符串。格式化的结果依赖于 conversion 模式。 conversion 模式与 C 语言的 printf ...
阅读全文
摘要:原文地址 本文内容 配置 配置属性 应用程序 appSettings 配置文件 配置语法 追加器(Appenders) 筛选器(Filters) 布局(Layouts) 根记录器(Root Logger) 记录器(Loggers) 渲染(Renderers) 参数(Parameters) 扩展...
阅读全文
摘要:原文地址 本文内容 概述 框架 日志(Loggers)和追加器(Appenders) 日志层次(Logger hierarchy) 追加器(Appenders) 筛选(Filters) 布局(Layouts) 对象渲染(Object Renderers) 最近公司有个项目,需要解析三种二进制流,我写其中的两种,最后用...
阅读全文
摘要:原文地址 本文列出了 .NET 开源开发项目(open source developer projects)。意在包括对开发过程的所有方面有所帮组的项目。对于消费项目(consumer projects),请参阅 .NET开源消费项目清单。 下面按字母排序,并提供一行文字说明。GitHub/CodePlex(或其他)链接优先。 .NET 实现 .NET...
阅读全文
摘要:原文地址 Mads Torgersen,微软 C# 程序管理者,它发布了一个视频,描述即将到来的下一个 C# 版本——C# 6。在 C# 6 的新特性之间,Mads 主要提到了 getter-only 属性,拉姆达箭头操作符,字符串插值(string interpolation) 等等。 首先,Mads 说,C# 6 不会改版 C# 的设计哲学,并且将提供很多小得特性,来帮助整洁代码。 Ge...
阅读全文
摘要:本文内容 异步编程类型 异步编程模型(APM) 参考资料 首先澄清,异步编程模式(Asynchronous Programming Patterns)与异步编程模型(Asynchronous Programming Model,APM),它们的中文翻译只差一个字,英文名称差在最后一个单词,一个是 Pattern,一个是 Model。模型 Model 比 模式 P...
阅读全文
摘要:本文内容 并行编程 任务并行 隐式创建和运行任务 显式创建和运行任务 任务 ID 任务创建选项 创建任务延续 创建分离的子任务 创建子任务 等待任务完成 组合任务 任务中的异常处理 取消任务 ...
阅读全文
摘要:本文内容 并行编程 数据并行 环境 计算 PI 矩阵相乘 把目录中的全部图片复制到另一个目录 列出指定目录中的所有文件,包括其子目录 最近,对多线程编程,并行编程,异步编程,这三个概念有点晕了,之前我研究了异步编程《VS 2013 C# 异步编程 async aw...
阅读全文
摘要:本文内容 Unity 配置示意图 Unity 的 XML 架构 参考资料 研究配置文件总是很麻烦,而且很可能因为版本问题,会稍有不同。如果你不确定 Unity 是否支持以及如何支持某个元素,就看下相关文档,或是看下 Unity 源代码中的 Unity.Config...
阅读全文
摘要:本文内容 Unity 概述 环境 一个真实的例子 类型注册(Type Registrations) 解析类型(Resolving Types) 跳槽,新公司使用了 Unity,初步看了一下,公司的使用还是比较简单的,其实 Unity 本身的用法很多。另外,前段时间我翻译和实验了 Martin Fowler 的《Java 控制反转和依赖注入模式》...
阅读全文
摘要:本文内容 场景 目标 解决方案 实现细节 思考 相关模式 更多信息 参考资料 Common Service Locator 代码很简单,它一般不会单独使用,而是作为一个单件模式,与像 .net Unity 这样的依赖注入框架一起使用。Common Service Locator 是 Unity 的一部分。 下载 Com...
阅读全文
摘要:本文内容 概述 编写异步方法 异步程序中的控制流 API 异步方法 线程 异步和等待 返回类型和参数 参考资料 下载 Demo 下载 Demo TPL 与 APM 和 EAP 结合(APM 和 EAP 这两个标准异步方式已经不能适应多核时代,但之前用这两种方式写的代码怎么办?——把它们改造一下,跟 TPL 结合) 概述 ...
阅读全文
摘要:本文内容 特点 性能 参数化的查询 List 支持 缓存和非缓存的 readers 多个映射 多个结果 存储过程 Ansi Strings 和 varchar 限制和注意事项 Dapper 能运行在我的 db 提供者上吗? 有例子的完整例子列表吗? 谁在使用 Dapper? 参考 ...
阅读全文
摘要:本文内容 自定义类 Array.Sort 参考资料 System.Array.Sort 有很多对集合的操作,比如排序,查找,克隆等等,你可以利用这个类加深对 IComparer、IComparable 以及泛型委托、匿名方法、Lambda 表达式的理解。 下载 Demo 自定义类 自定义...
阅读全文
摘要:本文内容 引入 实现 LINQ 的两个前提 扩展方法 λ 表达式 LINQ 参考资料 本文说明 LINQ 是如何实现的,知道这点,才能更好地使用它~ 如果你刚接触 LINQ,那么可能不会那么快就理解。因为,LINQ 涉及的技术比较多,可以说它是众多技术的集大成者,因此使用 LINQ 需...
阅读全文
摘要:本文内容 集合类 性能 最近复习了一下集合,C# 关于集合的类蛮多,但我除了 List 那几个经常用之外,其他的用得还真不多(只在小范围使用),但其实,每个集合类都各有自己适用的场景,功能也很强大。尤其是,泛型类提供的那些方法,对于集合操作很方便,比如,很多方法都把委托作为参数,包括 Act...
阅读全文
摘要:本文内容 使用泛型约束的原因 未绑定的类型参数 作为约束的类型参数 参考资料 当“设计模式”出现时,人们提“用接口编程”;后来,有了泛型,人们提“用泛型编程”。什么泛型?比如,单链表 LinkedList 场景,每个节点包含两个字段:值和下一个节点的引用,其...
阅读全文