随笔分类 - .NET
摘要:引用程序集using System.IO.Ports;字段定义//实例化串口类对象private SerialPort comm = new SerialPort();//实例化String类型的临时变量private StringBuilder builder = new StringBuilde...
阅读全文
摘要:IIS6环境下部署WebService(部署虚拟目录)首先,打开IIS管理器,部署一个网站或者使用默认网站右击网站选择新建虚拟目录输入WebService的别名选择WebService文件路径设置权限点击完成可以右击虚拟目录点击属性设置相关属性,例如端口、.Net版本等等IIS7环境下部署WebSe...
阅读全文
摘要:建立一个新的windows服务项目Server1打开Service1代码视图,找到OnStart部分,加入代码 切换到设计视图,右键-添加安装程序 切换到新生成的ProjectInstaller.cs设计视图,找到serviceProcessInstaller1对Account属性设置为Local...
阅读全文
摘要:CLR 公共语言运行库执行给定编译代码单元所需的外部服务集合,它提供了一个定义明确的运行库层,可以被支持.NET的所有语言和平台所共享。库mscoree.dll:公共对象运行库执行引擎当用户程序引用一个程序集时,这个库将首先自动加载,然后由它负责将需要的程序集导入内存。工作流程CTS 公共类型系统C...
阅读全文
摘要:CIL中间语言通用中间语言(Common Intermediate Language,简称CIL)(曾经被称为微软中间语言或MSIL)是一种属于通用语言架构和.NET框架的低阶(lowest-level)的人类可读的编程语言。目标为.NET 框架的语言被编译成CIL,然后汇编成字节码。CIL类似一个...
阅读全文
摘要:我想大家对配置文件一定不会陌生,在大部分的项目中都会用到它,在此笔者给出一些配置文件的实用示例。XML配置文件 利用XML格式的配置文件储存连接字符串,再用反射技术读取。using System.Reflection;Stringstr=ConfigurationManager.AppSett...
阅读全文
摘要:前言 掌握一门技术,首要的是掌握其基础。笔者从事.NET相关开发多年,也非常喜欢.NET,多年来也积累了很多相关的资料,在此将一些基础性的知识整理成专题,分享之。导航基础编程结构数据类型概述数据类型之字符串(String)数据类型之类(Class)数据类型之指针类型(type*)数据类型之动态类型(Dynamic)数据类型之匿名类型(var)运算符基础语句方法概述属性索引器迭代器泛型方法扩展方法分部方法base与thisusing预处理器指令高级编程结构面向对象基础异常处理委托事件Lambda接口泛型多线程AttributesLINQLINQ 概述LINQ 基本查询操作LINQ 数据转换LI.
阅读全文
摘要:多线程 在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。多线程处理一个常见的例子就是用户界面。利用线程,用户可按下一个按钮,然后程序会立即作出响应,而不是让用户等待程序完成了当前任务以后才开始响应。基础概念进程 进程是应用程序的实例要使用的资源的一个集合。每个应用程序都在各自的进程中运行来确保应用程序不受其他应用程序的影响,如果一个应用程序失败了, 只会影响自己的进程,其他进程中的应用程序可以继续运行。进程是操作系统为我们提供的一种保护应用程序的一种机制。线程线程是进程中基本执行单元, 一个进程中可以包含多个线程,在进程入口执行的第一..
阅读全文
摘要:转换数据类型 转换方法更改输入对象的类型。LINQ 查询中的转换运算可用于各种应用程序。下面是一些示例:Enumerable.AsEnumerable 方法可用于隐藏类型的标准查询运算符的自定义实现。Enumerable.OfType 方法可用于启用非参数化集合以进行 LINQ 查询。Enumerable.ToArray 、Enumerable.ToDictionary、Enumerable.ToList 和 Enumerable.ToLookup 方法可用于强制立即执行查询,而非推迟到枚举查询时。方法方法名说明C# 查询表达式语法Visual Basic 查询表达式语法更多信息AsEnum.
阅读全文
摘要:元素操作 元素操作从一个序列返回单个特定元素。方法方法名说明C# 查询表达式语法Visual Basic 查询表达式语法更多信息ElementAt返回集合中指定索引处的元素。不适用。不适用。Enumerable.ElementAtQueryable.ElementAtElementAtOrDefault返回集合中指定索引处的元素;如果索引超出范围,则返回默认值。不适用。不适用。Enumerable.ElementAtOrDefaultQueryable.ElementAtOrDefaultFirst返回集合中的第一个元素或满足条件的第一个元素。不适用。不适用。Enumerable.First.
阅读全文
摘要:相等运算 如果两个序列的对应元素相等且这两个序列具有相同数量的元素,则视这两个序列相等。方法方法名说明C# 查询表达式语法Visual Basic 查询表达式语法更多信息SequenceEqual通过成对地比较元素确定两个序列是否相等。不适用。不适用。Enumerable.SequenceEqualQueryable.SequenceEqual
阅读全文
摘要:生成操作 生成是指创建新的值序列。方法方法名说明C# 查询表达式语法Visual Basic 查询表达式语法更多信息DefaultIfEmpty将空集合替换为具有默认值的单一实例集合。不适用。不适用。Enumerable.DefaultIfEmptyQueryable.DefaultIfEmptyEmpty返回空集合。不适用。不适用。Enumerable.EmptyRange生成包含数字序列的集合。不适用。不适用。Enumerable.RangeRepeat生成包含一个重复值的集合。不适用。不适用。Enumerable.Repeat
阅读全文
摘要:聚合操作 聚合运算从值集合计算单个值。 从一个月的日温度值计算日平均温度就是聚合运算的一个示例。方法方法名说明C# 查询表达式语法Visual Basic 查询表达式语法更多信息Aggregate对集合值执行自定义聚合运算。不适用。不适用。Enumerable.AggregateQueryable.AggregateAverage计算值集合的平均值。不适用。Aggregate … In … Into Average()Enumerable.AverageQueryable.AverageCount对集合中的元素进行计数,还可以仅对满足某一谓词函数的元素进行计数。不适用。Aggregate ….
阅读全文
摘要:串联运算 串联是指将一个序列追加到另一个序列的运算。方法方法名说明C# 查询表达式语法Visual Basic 查询表达式语法更多信息Concat串联两个序列以组成一个序列。不适用。不适用。Enumerable.ConcatQueryable.Concat
阅读全文
摘要:数据分组 分组指将数据放入组中以便每个组中的元素共享公共特性的操作。方法方法名说明C# 查询表达式语法Visual Basic 查询表达式语法更多信息GroupBy对共享公共特性的元素进行分组。每个组都由一个IGrouping对象表示。group … by- 或 -group … by … into …Group … By … Into …Enumerable.GroupByQueryable.GroupByToLookup根据键选择器函数将元素插入到Lookup(一个一对多字典)中。不适用。不适用。Enumerable.ToLookup代码示例分组求和vardatas =fromdatai.
阅读全文
摘要:联接运算 将两个数据源“联接”就是将一个数据源中的对象与另一个数据源中共享某个通用特性的对象关联起来。当查询所面向的数据源相互之间具有无法直接领会的关系时,联接就成为一项重要的运算。 在面向对象的编程中,这可能意味着在未建模对象之间进行关联,例如对单向关系进行反向推理。 下面是单向关系的一个示例:Customer 类有一个类型为 City 的属性,但 City 类没有作为 Customer 对象集合的属性。 如果您具有一个 City 对象列表,并且要查找每个城市中的所有客户,则可以使用联接运算完成此项查找。LINQ 框架中提供的联接方法包括 Join 和 GroupJoin。这些方法执行同等.
阅读全文
摘要:数据分区LINQ 中的分区指的是在不重新排列元素的情况下,将输入序列划分为两部分,然后返回其中一个部分的操作。下图显示对一个字符序列执行三个不同的分区操作的结果。 第一个操作返回序列中的前三个元素。 第二个操作跳过前三个元素,返回剩余的元素。 第三个操作跳过序列中的前两个元素,返回接下来的三个元素。运算符运算符名称说明C# 查询表达式语法Visual Basic 查询表达式语法更多信息Skip跳过序列中的指定位置之前的元素。不适用。SkipEnumerable.SkipQueryable.SkipSkipWhile基于谓词函数跳过元素,直到某元素不再满足条件。不适用。Skip WhileEnu
阅读全文
摘要:投影运算 投影是指将对象转换为一种新形式的操作,该形式通常只包含那些将随后使用的属性。 通过使用投影,您可以构建依据每个对象生成的新类型。 您可以映射属性,并对该属性执行数学函数。 还可以在不更改原始对象的情况下映射该对象。方法方法名说明C# 查询表达式语法Visual Basic 查询表达式语法更多信息Select映射基于转换函数的值。selectSelectEnumerable.SelectQueryable.SelectSelectMany映射基于转换函数的值序列,然后将它们展平为一个序列。使用多个from子句使用多个From子句Enumerable.SelectManyQueryab.
阅读全文
摘要:限定符操作限定符运算返回一个 Boolean 值,该值指示序列中是否有一些元素满足条件或是否所有元素都满足条件。方法方法名说明C# 查询表达式语法Visual Basic 查询表达式语法更多信息All确定是否序列中的所有元素都满足条件。不适用。Aggregate … In … Into All(…)Enumerable.AllQueryable.AllAny确定序列中是否有元素满足条件。不适用。Aggregate … In … Into Any()Enumerable.AnyQueryable.AnyContains确定序列是否包含指定的元素。不适用。不适用。Enumerable.Contai
阅读全文
摘要:筛选数据 筛选指将结果集限制为只包含那些满足指定条件的元素的操作。 它又称为选择。方法方法名说明C# 查询表达式语法Visual Basic 查询表达式语法更多信息OfType根据值强制转换为指定类型的能力选择值。不适用。不适用。Enumerable.OfTypeQueryable.OfTypeWhere选择基于谓词函数的值。whereWhereEnumerable.WhereQueryable.WhereOfType() 非泛型类型可以包含任何类型的项,因为他们的成员原型是接收object类型的,我们可以使用OfType方法将指定的类型对象从非泛型集合中筛选出来。
阅读全文