【WPF各种控件的使用 C#的进阶】教程文章相关的互联网学习教程文章

[转]C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解【代码】【图】

本文转自:http://www.cnblogs.com/landeanfen/p/5501487.html阅读目录一、void无返回值二、IHttpActionResult1、Json(T content)2、Ok()、 Ok(T content)3、NotFound()4、其他5、自定义IHttpActionResult接口的实现三、HttpResponseMessage四、自定义类型五、总结 正文前言:已经有一个月没写点什么了,感觉心里空落落的。今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧。之前分享过一篇 C#进阶系列—...

C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码【图】

前言系列目录C#使用Xamarin开发可移植移动应用目录源码地址:https://github.com/l2999019/DemoApp可以Star一下,随意 - -说点什么..嗯,前面讲了那么多,是时候生成一个APK在真机上玩玩了.今天的学习内容?也只讲一个,如何打包生成安卓可安装的APK并精简大小. 正文我记得,之前在写安卓方面的文章的时候,有人就问过我.Xamarin.Android为什么打包出来这么大?随便一个HelloWord就20-30MB?嗯..今天我们就来解决这个问题..我们先从指定一个...

C#进阶系列(收藏园内牛人文章)

C#进阶系列——DDD领域驱动设计初探(一):聚合C#进阶系列——DDD领域驱动设计初探(二):仓储Repository(上)C#进阶系列——DDD领域驱动设计初探(三):仓储Repository(下)C#进阶系列——DDD领域驱动设计初探(四):WCF搭建C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用C#进阶系列——DDD领域驱动设计初探(六):领域服务C#进阶系列——DDD领域驱动设计初探(七):Web层的搭建来源:https://www.cnblogs.com...

.NET深入实战系列—Linq to Sql进阶【图】

最近在写代码的过程中用到了Linq查询,在查找资料的过程中发现网上的资料千奇百怪,于是自己整理了一些关于Linq中容易让人困惑的地方。本文全部代码基于:UserInfo与Class两个表,其中Class中的UserId与UserInfo中的Id对应 本文唯一访问地址:http://www.cnblogs.com/yubaolee/p/BestLinqQuery.htmllinq联合查询内联查询内联是一个实际使用频率很高的查询,它查询两个表共有的且都不为空的部分 from user in UserInfojoin c in Cla...

C#进阶系列——WebApi 接口参数不再困惑:传参详解【代码】【图】

https://www.cnblogs.com/landeanfen/p/5337072.html阅读目录一、get请求1、基础类型参数2、实体作为参数3、数组作为参数4、“怪异”的get请求二、post请求1、基础类型参数2、实体作为参数3、数组作为参数4、后台发送请求参数的传递三、put请求1、基础类型参数2、实体作为参数3、数组作为参数四、delete请求五、总结 正文前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料。如今,使用WebApi也有段时间了...

C#进阶之路——10.C# 接口

C#进阶之路——10. C# 接口 基础:接口 Interface接口是方法的抽象,如果不同的类有同样的方法,那么就应该考虑使用接口。接口名称:始终冠以大写字母I接口不会出现方法体,没有修饰符,实现类提供方法体并为其分配一些修饰符,如果类没有实现该方法会编译错误。 接口示例:定义ILogger接口实现文本日志输出using System;public interface ILogger{void Log(string Info);}public class TextLogger : ILogger{ public void Log(str...

【C#进阶系列】25 线程基础【代码】

线程的概念线程的职责是对CPU进行虚拟化。CPU为每个进程都提供了该进程专用的线程(功能相当于cpu),应用程序如果进入死循环,那么所处的进程会"冻结",但其他进程不会冻结,它们会继续执行!线程的开销因为是虚拟化CPU,所以也会有空间(内存耗用)和时间(执行性能)上的开销。具体的开销:线程内核对象(thread kernel object) 操作系统为创建的每个线程都会分配并初始化这种数据结构。数据结构包含一组对线程进行描述的属性,还...

C#进阶--WebApi异常处理机制【代码】

其实对于C#异常处理大家都不陌生,但是对于在WeiApi上的异常处理实际上也和传统异常处理区别不大,但是却经过封装可以让异常更加友好,https://docs.microsoft.com/en-us/aspnet/web-api/overview/error-handling/exception-handling,通过微软的官方介绍,我们可以知道WeiApi可以简单概述为三种异常,接下来我们围绕这三种异常给出例子,如何封装和处理以上三种异常异常过滤 异常过滤器实现了System.Web.Http.Filte...

C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用【代码】【图】

前言:前篇搭建了下WCF的代码,就提到了DTO的概念,对于为什么要有这么一个DTO的对象,上章可能对于这点不太详尽,在此不厌其烦再来提提它的作用:从安全上面考虑,领域Model都带有领域业务,让Client端引用Domain Model就意味着Client端可以绕过应用层直接完成业务逻辑的调用,这样是一种不安全的机制。从对象传递效率上面考虑,领域Model带有业务,而这些业务一般对于UI层是没有意义的,所以带有业务的model传递起来会加重网络负...

【C#进阶系列】18 可空值类型【代码】

可空值类型,正如字面意义上的,是可以为NULL的值类型。这个东西存在的意义可以解决比如数据库的的Int可以为NUll的情况,使得处理数据库数据更简单。实际上可空值类型就是Nullable<T>这个泛型值类型,而C#有一种更简单的语法糖是int?这种用法:Nullable<Int32> 数据库类型 = null; float? 可以为空的浮点类型 = null; DateTime? 更多的值类型 = null;可空值类型的更多玩法在大多数时候用C#去操作可空值类型,完全可以把它当做一个...

c#进阶(1)—— Task Parallel Library 并行执行与串行执行【图】

本文参考的博文出处:http://www.cnblogs.com/stoneniqiu/p/4857021.html总体说明:(1)、理解硬件线程和软件线程  硬件线程也称为逻辑内核,一个物理内核可以使用超线程技术提供多个硬件线程。所以一个硬件线程并不代表一个物理内核;Windows中每个运行的程序都是一个进程,每一个进程都会创建并运行一个或多个线程,这些线程称为软件线程。硬件线程就像是一条泳道,而软件线程就是在其中游泳的人。(2)Net Framework4 引入了...

C# 消息队列之 RabbitMQ 进阶篇

简介 在之前的 C# 消息队列之 RabbitMQ 基础入门 中介绍了 RabbitMQ 的基本用法,其实要更全面的掌握 RabbitMQ 这个消息队列服务,我们还需要掌握以下内容: 1. 轮询分发 2. 消息响应 3. 公平分发 4. 消息持久化 1. 轮询分发 默认情况下,RabbitMQ 会按照消息顺序依次分发给每个消费者,也就是每个消费者接收到的消息基本是平均的,这种分发方式称之为轮询分发。话不多说看示例: 1) 生产者代码(其他代码省略) //随...

C#进阶系列——WebApi 接口测试工具:WebApiTestClient(转)【图】

C#进阶系列——WebApi 接口测试工具:WebApiTestClient ?阅读目录一、WebApiTestClient介绍 二、WebApiTestClient展示 三、WebApiTestClient使用1、如何引入组件 2、如何使用组件四、总结 正文 前言:这两天在整WebApi的服务,由于调用方是Android客户端,Android开发人员也不懂C#语法,API里面的接口也不能直接给他们看,没办法,只有整个详细一点的文档呗。由于接口个数有点多,每个接口都要详细说明接口作用、参数类型、返回值...

C#进阶之路(八)集合的应用【代码】【图】

集合是我们编程时候常用的类库,本文主要讨论具体每个类型的区别,每个集合对应的时间复杂度。先上一个时间复杂度图: C#集体类型( Collections in C#)集合是.NET FCL(Framework Class Library)中很重要的一部分(.net core 中是corefx),也是我们开发当中最常用到的功能之一,几乎是无处不在。俗话说知其然,知其所以然,平常看到IEnumerable,IEnumerator,ICollection是不是知道他们之间各自的区别?除了List和Dictionary以...

C#进阶-泛型-变体【图】

为什么要使用泛型(泛型可以继承的): 1,重用代码; 2,类型安全:编译时检查,尽早暴露问题(相对object而言); 3,提高性能:编译时生成,避免装箱/拆箱; 泛型的类型约束where T: 1,struct:只能是值类型,由struct定义; 2,class:只能是引用类型,class定义; 3,new():必须包含一个公共的无参构造函数; 4,person:只能是person及其子类; 5,ISort:只能是ISort及其实现; 可以为多个泛型参数定义多个约束,也可以为一...