摘要:Before developing any applications, an understanding of the differences between a solution and a project is required. A project holds source files and any other files, such as images, that are needed to create an assembly that is to be run by the .NET Common Language Runtime. All of the source files
阅读全文
02 2013 档案
摘要:有如下XML,如何根据书名(title)Harry Potter显示这个书名的详细内容(detail)呢?<?xml version="1.0" encoding="utf-8" ?><bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <detail> <author>Giada De Laurentiis</autho
阅读全文
摘要:VS 2012图标说明图标说明命名空间方法或函数类运算符接口属性结构字段或变量UnionEventEnum常量TypeDef枚举项模块映射项扩展方法外部声明委托错误异常模板映射未知类型转发信号图标以下信号图标适用于前面的所有图标,指示它们的可访问性。说明如果项目包含在源代码管理数据库中,则可能会显示其他信号图标来指示源代码管理的状态,如签入或签出。图标说明<无信号图标>公共。可从该组件内的任何地方访问或从任何引用它的组件访问。受保护。可从包含类或类型内访问或从由包含类或类型派生的类或类型内访问。私有。仅可在包含类或类型内访问。密封。朋友/内部。仅可以从此项目内访问。快捷方式。对象的
阅读全文
摘要:XML内容是个树结构,用C#读取XML里的结点(Node)的时候,首先要理解在.NET的世界里,什么是结点(Node)?有如下XML:<?xml version="1.0" encoding="utf-8" ?><bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author
阅读全文
摘要:(C#)方法的参数修饰符参数修饰符(无) 如果一个参数没有修饰符标记,则认为它将按值传递(pass by value),这意味着被调用的方法收到一份原始数据的副本。out 输出参数由被调用的方法赋值,因此它按引用传递(pass by reference),如果被调用的方法没有给输出参数赋值,就会出现编译器错误。 ref 调用者赋初值,可以由被调用的方法可选的重新赋值(数据也是按引用传递),如果被调用的方法未能给ref参数赋值,也不会有编译器错误。params 允许将一组可变数量的参数作为单独的逻辑参数进行传递。方法只能有一个params参数,并且必须是方法的最后一个参数。默认的参...
阅读全文
摘要:(C# 基础) - 系统数据类型Main()方法是表示应用程序的入口点, Main的签名具有static关键字,静态成员是类级别的(不是对象级别),因此在调用之前不需要先创建新的实例。C#的关键字都是小写的。(如 public, class, lock , dynamic, event, delegate 等)命名空间,类型和成员名称(按约定)都是一个大写字母开头,中间的单词都是手字母大写(如Console.WriteLine,System.Windows.Forms. 等) C#数据类型系统类型范围作用boolSystem.Booleantrue, false表示逻辑真假sbyteSy...
阅读全文
摘要:XML 可扩展标记语言(Extensible Markup Language)是一种标记语言,设计宗旨是传输数据,而非显示数据。XML文档时树结构,从根部开始,扩展到枝叶。<?xml version="1.0" encoding="ISO-8859-1"?><note><to>George</to><from>John</from><heading>Reminder</heading><body>Don't forget the meeti
阅读全文
摘要:C#匿名方法和Lambda表达式当一个调用者想监听传来的事件的时候,它必须定义一个唯一的与相关委托签名匹配的方法。在事件注册时直接将一个委托与一段代码相关联,这种代码叫做匿名方法。namespace ConsoleApplication1{ class Program { public class Car { // 属性 public string CarName { get; set; } public int CurrentSpeed { get; set; } ...
阅读全文
摘要:为了简化自定义方法的构建来为委托调用列表增加和删除方法,C#提供了 event 关键字。在编译器处理event关键字的时候,它会自动提供注销方法以及委托类型任何必要的成员变量。这些委托成员变量总是声明为private的。所以不能直接从触发事件的对象来访问成员。定义一个事件分两步:1. 定义一个委托类型,包含事件触发时要调用的方法。2. 通过 C# event 关键字用相关的委托来声明事件。创建一个Car类,可以发送CarIsBroken(),OverSpeedAlarm(超速警告)事件。 // 创建一个委托用于对Car事件的响应处理。 public d...
阅读全文
摘要:事件和委托的用途在于实现Runtime的两种机制: 1)事件通知 2)事件处理委托(delegate)是指向一个方法的指针,通过制定一个委托名称,来调用方法。可以动态的更改一个委托引用的方法。(委托类型用来响应应用程序中的回调(callback), 委托和C++的函数指针相似,但是委托是类型安全的。...
阅读全文
摘要:(C#)属性(property)属性是字段和方法的一个交集。看起来像是一个字段,行为上又像是一个方法。是类维持了封装性,有可以方便地使用字段。- 访问属性的语法和访问一个字段(类成员)的语法是相同的。(- 实际上,编译器自动转换为对特定accessor方法(取值和赋值方法统称为accessor方法)...
阅读全文
摘要:(C#) 字符串替换1. 少的话,直接使用 String.Replace例如: // Correct the spelling of "document". string correctString = errString.Replace("docment", "document");2. 多的话,建个处理方法 private static string FomatName(string name) { var replacements = new Dictionary<char, char>() { ...
阅读全文
摘要:图像处理基础在计算机中,按照颜色和灰度的多少可以将图像分为二值图像、灰度图像、索引图像和真彩色RGB图像四种基本类型。目前,大多数图像处理软件都支持这四种类型的图像。(1) 二值图像:一幅二值图像的二维矩阵仅由0、1两个值构成,“0”代表黑色,“1”代白色。由于每一像素(矩阵中每一元素)取值仅有0、1两种可能,所以计算机中二值图像的数据类型通常为1个二进制位。二值图像通常用于文字、线条图的扫描识别(OCR)和掩膜图像的存储。2) 灰度图像:灰度图像矩阵元素的取值范围通常为[0,255]。因此其数据类型一般为8位无符号整数的(int8),这就是人们经常提到的256灰度图像。“0”表示纯黑色,“2
阅读全文
摘要:(PowerShell) 文件操作Get current ps1 file's parent path$x = Split-Path -Parent $MyInvocation.MyCommand.DefinitionCreate a folder if it does not exist.$myNewFolder = $x +"myTestFolder\"if(!(Test-Path $myNewFolder)){new-item -path $x -name myTestFolder -type directory}Open a XML file , and g
阅读全文