随笔分类 -  12 C#语言基础

Entity Framework(01):模型优先,Linq to Entities
摘要:一、概念: LINQ to Entities - ADO.NET | Microsoft Docs EF实体框架目前版本为EF6。 1、EF6 可实现的功能: 不依赖于任何 EF 类型的 POCO 实体类的映射 自动更改跟踪 标识解析和工作单元 预先、延迟和显式加载 使用 LINQ(语言集成查询)转 阅读全文

posted @ 2020-07-03 13:58 springsnow 阅读(428) 评论(0) 推荐(0)

C#(99):二、并行编程 - Task任务
摘要:一、并行编程 - 数据并行 System.Threading.Tasks.Parallel 类 二、并行编程 - Task任务三、并行编程 - Task同步机制。TreadLocal类、Lock、Interlocked、Synchronization、ConcurrentQueue以及Barrier等四、并行编程 - 并行LINQ(PLINQ) 的使用。AsParallel五、并行编程 - 信号量... 阅读全文

posted @ 2020-06-19 11:13 springsnow 阅读(721) 评论(0) 推荐(0)

C#(99):四、Async和Await使异步编程更简单
摘要:一、Asynchronous methods 异步方法 .NET 4.5 的推出,对于C#又有了新特性的增加——就是C#5.0中async和await两个关键字,这两个关键字简化了异步编程。 使用async修饰的方法被称为异步方法,这个方法调用时应该在前面加上await。 异步方法命名应该以Asyn 阅读全文

posted @ 2020-06-16 14:00 springsnow 阅读(603) 评论(0) 推荐(0)

C#(99):三、.NET 4.0基于任务的异步模式(TAP),推荐使用
摘要:一、引言当使用APM的时候,首先我们要先定义用来包装回调方法的委托,这样难免有点繁琐, 然而使用EAP的时候,我们又需要实现Completed事件和Progress事件,上面两种实现方式感觉都有点繁琐。同时微软也意识到了这点,所以在.NET 4.0中提出了一个新的异步模式——基于任务的异步模式TAP(Task-based Asynchronous Pattern )。基于任务的异步模式 (TAP... 阅读全文

posted @ 2020-06-16 12:40 springsnow 阅读(2028) 评论(0) 推荐(0)

C#(99):二、.NET 2.0基于事件的异步编程模式(EAP)
摘要:一、引言APM为我们实现异步编程提供了一定的支持,同时它也存在着一些明显的问题——不支持对异步操作的取消和没有提供对进度报告的功能,对于有界面的应用程序来说,进度报告和取消操作的支持也是必不可少的。微软在.NET 2.0的时候就为我们提供了一个新的异步编程模型,也就是基于事件的异步编程模型——EAP(Event-based Asynchronous Pattern )。二、介绍实现了基于事件的异... 阅读全文

posted @ 2020-06-16 11:12 springsnow 阅读(949) 评论(1) 推荐(0)

C#(99):一、.NET 1.0 异步编程模型(APM)
摘要:一、概念 .NET 1.0提出了APM(Asynchronous Programming Model)即异步编程模式。 .NET的类库有以BeginXXX和EndXXX类似的方法,就是使用异步编程模型。 NET Framework很多类也实现了该模式,同时我们也可以自定义类来实现该模式,即在自定义的 阅读全文

posted @ 2020-06-16 08:30 springsnow 阅读(670) 评论(1) 推荐(1)

C#(99):集合概述
摘要:一、概述1、集合命令空间:System.Collections.Specialized:专用于特性类型的集合类System.Collections.Concurrent:线程安全的集合类System.Collections.Immutable:不可变的集合类2、集合接口泛型集合层次关系图 IEnumerable:如果将foreach语句用于集合,就需要IEnumerable接口。这个接口定义了方... 阅读全文

posted @ 2020-05-27 20:06 springsnow 阅读(415) 评论(0) 推荐(0)

C#(99):ThreadPool
摘要:一、ThreadPool概述提供一个线程池,该线程池可用于执行任务、发送工作项、处理异步 I/O、代表其他线程等待以及处理计时器。创建线程需要时间。如果有不同的小任务要完成,就可以事先创建许多线程/在应完成这些任务时发出请求。不需要自己创建这样一个列表。该列表由ThreadPool类托管。这个类会在需要时增减池中线程的线程数,直到最大的线程数。如果有更多的作业要处理,线程池中线程的个数也达到了极... 阅读全文

posted @ 2020-05-27 19:41 springsnow 阅读(381) 评论(0) 推荐(0)

C#(99):DateTime函数
摘要:一、初始化: DateTime dt = new DateTime(2011, 3, 4); DateTime dt3 = new DateTime(2011, 3, 4, 17, 08, 09); DateTime dt1 = DateTime.Now; DateTime dt2 = DateTi 阅读全文

posted @ 2020-05-27 19:10 springsnow 阅读(792) 评论(0) 推荐(0)

C#(99):串口编程 System.IO.Ports.SerialPort类
摘要:从Microsoft .Net 2.0版本以后,就默认提供了System.IO.Ports.SerialPort类,用户可以非常简单地编写少量代码就完成串口的信息收发程序。1. 串口硬件信号定义DB9 Connector 信号定义。串口测试将2、3针脚短接即可。2、串口端口号搜索string[] portList = System.IO.Ports.SerialPort.GetPortNames(... 阅读全文

posted @ 2020-05-27 18:55 springsnow 阅读(9740) 评论(0) 推荐(0)

LINQ(02):LINQ查询操作符实例1
摘要:示例业务背景介绍 示例参考《C#高级编程(第六版)》LINQ章节(P267 - P296),进行改编。 打开示例代码我们看到: 1、Racer.cs 车手冠军信息类 定义一级方程式世界车手冠军信息。 2、Team.cs 车队冠军信息类 定义一级方程式世界车队冠军信息。 3、Formula1.cs 一 阅读全文

posted @ 2020-05-15 22:31 springsnow 阅读(322) 评论(0) 推荐(0)

C#(99):LINQ to Objects(2)
摘要:四、Linq和反射 .NET Framework 类库反射 API 可用于检查 .NET 程序集中的元数据,以及创建位于该程序集中的类型、类型成员、参数等等的集合。 因为这些集合支持泛型 IEnumerable 接口,所以可以使用 LINQ 查询它们。 下面的示例演示了如何将 LINQ 与反射配合 阅读全文

posted @ 2020-05-15 11:49 springsnow 阅读(277) 评论(0) 推荐(0)

C#(5):XSLT可扩展样式表语言转换 System.Xml.Xsl、XslCompiledTransform类
摘要:XML文件books.xml:xml version="1.0" encoding="utf-8" ?> The Autobiography of Benjamin Franklin Benjamin Franklin 8.99 The Confidence Man Herman Melville ... 阅读全文

posted @ 2020-05-14 16:40 springsnow 阅读(380) 评论(0) 推荐(0)

C#(4):XML序列化
摘要:一、使用 System.Xml.Serialization类1、定义元数据引入System.Xml.Serialization命名空间。XML序列化常用属性: XmlRoot XmlType XmlText XmlEnum [Serializable][XmlRoot]public class Product{ public int ProductID { set; get; }... 阅读全文

posted @ 2020-05-13 20:02 springsnow 阅读(1409) 评论(0) 推荐(0)

C#(3):XmlReader ,XmlWriter(抽象类)
摘要:XmlReader 类 (System.Xml) | Microsoft Docs XmlWriter 类 (System.Xml) | Microsoft Docs 一、概述 1、XMLReader为抽象类,其派生类有: XmlDictionaryReader XmlNodeReader XmlT 阅读全文

posted @ 2020-05-13 17:30 springsnow 阅读(605) 评论(0) 推荐(0)

C#(2):Xpath导航器XpathNavigator 、System.Xml.XPath
摘要:XPathNavigator类包含移动和选择XML所需元素的所有方法。 一、创建:CreateNavigator 1、XPathNavigator类,如果是从XPathDocument中创建,则是只读的,只能浏览数据; XPathDocument doc = new XPathDocument(". 阅读全文

posted @ 2020-05-13 16:55 springsnow 阅读(629) 评论(0) 推荐(0)

C#(1):XML DOM、System.Xml.XmlDocument
摘要:一、XML DOM概述XML 文档大小写敏感、属性用引号括起来,每一个标记都要闭合。DOM是XML文档的内存中树状的表示形式。继承关系图: XmlNode;//XML节点......XmlDocument;//XML文档............XmlDataDocument;//与Dataset相关的文档......XmlDocumentFragment;//文档片段......XmlLink... 阅读全文

posted @ 2020-05-13 16:13 springsnow 阅读(1004) 评论(0) 推荐(0)

C#(99):加密与解密 Sytem.Security.CryptoGraphy
摘要:一、Hash加密,使用HashAlgorithm哈希算法类的派生类(MD5、SHA1等)特点:只能加密,不可逆。可对目标信息生成一段特定长度唯一的Hash值。HashAlgorithm派生类包括: KeyedHashAlgorithm: 显示所有加密哈希算法实现均必须从中派生的抽象类。 MD5: 表示 MD5 哈希算法的所有实现均从中继承的抽象类。 ————MD5Crypto​Ser... 阅读全文

posted @ 2020-03-24 09:43 springsnow 阅读(1902) 评论(0) 推荐(1)

C#(99):lazy延迟加载
摘要:.在.NET4.0中,可以使用Lazy 来实现对象的延迟初始化,从而优化系统的性能。 正如我们所知,对象的加载是需要消耗时间的,特别是对于大对象来说消耗的时间更多.lazy可以实现对象的延迟加载。延时加载,意思是对象在使用的时候创建而不是在实例化的的时候才创建。 Lazy 对象初始化默认是线程安全的 阅读全文

posted @ 2020-01-13 18:51 springsnow 阅读(577) 评论(0) 推荐(0)

JavaScript(24):XPath、XSLT与XQuery介绍
摘要:一、XPath查询 XSL指扩展样式表语言(EXtensible Stylesheet Language)。 官方网站:https://www.w3.org/TR/xpath/ XSL - 不仅仅是样式表语言,包括三部分: XSLT :一种用于转换 XML 文档的语言。 XPath :一种用于在 X 阅读全文

posted @ 2020-01-01 13:27 springsnow 阅读(1367) 评论(0) 推荐(0)

导航