随笔分类 - C# 托管和非托管
摘要:1、Task的优势 ThreadPool相比Thread来说具备了很多优势,但是ThreadPool却又存在一些使用上的不方便。比如: ◆ ThreadPool不支持线程的取消、完成、失败通知等交互性操作; ◆ ThreadPool不支持线程执行的先后次序; 以往,如果开发者要实现上述功能,需要完成
阅读全文
摘要:在"C#中,什么时候用yield return"中,我们了解到:使用yield return返回集合,不是一次性加载到内存中,而是客户端每调用一次就返回一个集合元素,是一种"按需供给"。本篇来重温yield return的用法,探秘yield背后的故事并自定义一个能达到yield return相同效
阅读全文
摘要:说起异步,Thread,Task,async/await,IAsyncResult 这些东西肯定是绕不开的,今天就来依次聊聊他们 1.线程(Thread) 多线程的意义在于一个应用程序中,有多个执行部分可以同时执行;对于比较耗时的操作(例如io,数据库操作),或者等待响应(如WCF通信)的操作,可以
阅读全文
摘要:using System; class Rubbish{ public void Say() { Console.Write("Hello"); }}static class RubbishExtensions{ public static void Say(this Rubbish argRubb
阅读全文
摘要:2.利用委托调用--最常见的办法(仅WinForm有效) using System; using System.Threading; using System.Windows.Forms; namespace ThreadTest { public partial class Form1 : For
阅读全文
摘要:特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的。 特性(Attribute)用于添加元数据,如编译器指令和注释、描述、
阅读全文
摘要:一、Lambda表达式简介 Lambda表达式可以理解为匿名函数,可以包含表达式和语句。它提供了一种便利的形式来创建委托。 Lambda表达式使用这个运算符 “=>”,它读成“goes to” ,该运算符的左边为输入参数,右边是表达式或者语句块。 二、例子 例1: using System;usin
阅读全文
摘要:在说Asnc和Await之前,先说明一下Func和Action委托, Task任务的基础的用法 1. Func public delegate TResult Func<out TResult>(); Func是一种委托,这是在3.5里面新增的,2.0里面我们使用委托是用Delegate,Func位
阅读全文
摘要:数据类型 垃圾回收机制 一、数据类型 C#中的数据类型分为值类型 (Value type) 和引用类型(reference type), 值 类 型: 所有的值类型都集成自 System.ValueType 上,除非加声明?否则不可为null,保存在 堆栈(Stack,先进后出)上,常见的值类型有:
阅读全文

浙公网安备 33010602011771号