关键字:
  • Web、移动开发之C#:(8)C#语言特性之Linq

    作者: king       发表时间: 2016-07-30 18:07
    1.Linq用到的基础知识 1.1 集合初始化器、对象初始化器 List<Person> people = new List<Person>{             new Person { FirstName = "Scott", LastName = "Guthrie", Age = 32 },             new Person { FirstName = "Bill", LastName = "Gates", test02 = 85},             new P...
  • Web、移动开发之C#:(9)C#常用类库5:正则表达式

    作者: king       发表时间: 2016-07-21 00:40
    5.正则表达式类 5.1正则表达式 5.1.1正则表达式简介 正则表达式由一些普通字符和一些元字符(metacharacters)组成。 普通字符包括大小写的字母和数字,而元字符则具有特殊的含义。   在最简单的情况下,一个正则表达式看上去就是一个普通的查找串。 例如,正则表达式"testing"中没有包含任何元字符,它可以匹配"testing"和"123testing"等字符串,但是不能匹配"Testing"。  要想真正的用好正则表达式,正确的理解元字符是最重要的事情。 5.1.2 基础的元字符 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“\n”匹配字符“\n”,序列“\\”匹配“\”,而“\(”则匹配“(”。 ^ 匹配输...
  • Web、移动开发之C#:(9)C#常用类库4:XDocument

    作者: king       发表时间: 2016-07-21 00:38
    4.XDocument类 4.1 XDocument类相关方法   名称 说明 Add(Object) 将指定的内容添加为此XContainer的子级。(继承自XContainer。) Add(Object[]) 将指定的内容添加为此XContainer的子级。(继承自XContainer。) AddAfterSelf(Object) 紧跟在此节点之后添加指定的内容。(继承自XN...
  • Web、移动开发之C#:(9)C#常用类库3:文件操作类

    作者: king       发表时间: 2016-07-21 00:37
    3.文件操作类 3.1Path(静态类) 命名空间:System.IO.Path 定义:public static class Path 说明: 1)Path 类的大多数成员不与文件系统交互,并且不验证路径字符串指定的文件是否存在。 2)Path 类的成员可快速方便地执行如确定文件扩展名是否是路径的一部分、将两个字符串组合成一个路径名的操作。 3)Path 类的所有成员都是静态的,因此无需创建实例即可访问。 3.1.1Path类的重要方法 1)Path.ChangeExtension() 方法 定义:public static string ChangeExtension(string path,string extension) 说明:(基于Windows桌面平台上) 如果 path 是 null 或空字符串 (""),则返回的路径信息是未修改的。 如果 extension是null,则返回的字符串包含指定的路径,扩展名已移除。 如果 path 没有扩展...
  • Web、移动开发之C#:(9)C#常用类库2:集合

    作者: king       发表时间: 2016-07-21 00:35
    2.集合 2.1集合—ArrayList(“动态数组”) 引子:数组的长度是分配好的,不可以随时变化。集合的长度是可变的。 ArrayList:使用大小可按需动态增加的数组实现 IList 接口,集合中项(items)的类型是object的类型,即可以是各种不同的类型。 (1)增:Add()、AddRange()、Insert()、InsertRange() int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; ArrayList arraylist = new ArrayList(); arraylist.Add("一个集合"); arraylist.Add(123); arraylist.Add(nums);          //整个数组作为一个元素加进去 arraylist.AddRange(nums);  ...
  • Web、移动开发之C#:(9)C#常用类库1:String

    作者: king       发表时间: 2016-07-21 00:34
    1.String 一个String代表一个不可变的顺序字符集。String是一个密封类。 1.1构造 String s = "abc"; String s = "abc" "123"; string str = new string('h',3);   //字符重复count次,得到字符串 string str1 = new string(new char[] { 'h', 'a' }); //从字符数组得到字符串 1.2比较 Equals 比较两个字符串对象是否相等。比较相等只需要涉及是否忽略大小写。 静态方法: public static bool Equals(string a, string b); String.Equals("abc", "Abc...
  • Web、移动开发之C#:(8)C#语言特性

    作者: king       发表时间: 2016-07-21 00:25
    C#语言主要特性 以下内容一部分从Jon Skeet的《深入理解C#(中文第三版)》(译者:姚琪琳)整理而来,有进一步兴趣的朋友可以阅读原著。 本文从互联网获取了部分内容做为素材。如果您认为侵犯到您的权利,请联系本人进行处理,本人邮箱:kinglong1984@126.com。   C#1和Java语言非常相似,C#还包含一些额外的特性:属性、委托和事件、foreach循环、using语句、显示方法重载、操作符重载、自定义值类型等。   C#1中“委托”是一个语言级特性,而在Java语言中没有直接的对应,但是我们可以通过动态代理来实现委托! C#2与类型相关的主要新特性是泛型;同时通过匿名方法对C#1的委托进行了增强。 C#3的核心是LINQ,可通过Lambda表达式实例化委托,是对委托的进一步增强。 C#4之前,已引入了很多与动态(及函数式)语言相关的特性。 C#4增加了真正实用的动态类型。 C#5新增了异步编程的功能。 C#1 委托 ...
  • Web、移动开发之C#:(7)C#类型成员

    作者: king       发表时间: 2016-07-21 00:21
    1.类型的成员 类的内部是class下面的花括号范围内的内容:   常量成员:const 修饰的成员,隐式静态常量,只读的,不能修改,用“类名.成员名”实现只读访问。常量的值直接嵌入代码,运行时不用为其分配内存,不能获取常量的地址。 常量的值更改后,若只生成Dll程序集,应用程序不会受到影响,需重新编译应用程序,才能修改生效。如果是可能变化的,static readonly 的字段可解决以上版本更新问题。   静态成员:static修饰的成员,属于类,不属于类的每个实例,用“类名.成员名”实现读写访问。静态成员不属于该类的某一个对象,这个类及所有实例都可以共同访问。 任何对象随时都可以访问这个成员,修改的值会一直保留下去。 实例成员:默认情况非静态、非常量的所有成员都是实例成员。new一个实例出来后,通过这个实例才能调用的实例成员。   数据成员:类或实例的数据。字段。 函数成员:类或实例的操作。属性(特性)、构造函数、方...
  • Web、移动开发之C#:(6)C#引用类型

    作者: king       发表时间: 2016-07-21 00:18
    1.类 类是 .NET Framework 中的常规类型系统的一种基本构造,封装着一组整体作为一个逻辑单位的数据和行为。 数据和行为是该类“成员”,它们包含方法、属性和事件等。 类是一种“引用类型”。 创建类的对象时,对象赋值到的变量只保存对该内存的引用。 将对象引用赋给新变量时,新变量引用的是原始对象。通过一个变量做出的更改将反映在另一个变量中,因为两者引为用同一数据。 类通常用于对较为复杂的行为建模,或对要在创建类对象后进行修改的数据建模( 结构最适合一些小型数据结构,这些数据结构包含的数据以创建结构后不修改的数据为主)。 静态类 不需要实例化的类,直接从System.Object派生。只能定义静态成员,不能定义实例成员,不能实现接口,不能做为其他类型的基类,不能做为字段、方法参数、或局部变量使用。 1.1 类的定义   从已有类派生自己的类,若没有指定父类,默认的直接继承自Object类。   值类型(结构类型)定义public ...
  • Web、移动开发之C#:(5)C#值类型

    作者: king       发表时间: 2016-07-21 00:12
    1.字符 System.Char 说明: 无符号的16位整数,数值范围从0~65535,占2个字节空间。 public struct Char : IComparable, IConvertible, IComparable<char>, IEquatable<char> {         //表示 System.Char 的最大可能值。此字段为常数。         public const char MaxValue = (char)0xffff;   //16^4-1 = 2^16 -1 =65535         //表示 System.Char 的最小可能值。此字段为常数。   ...
  • Web、移动开发之C#:(4)C#基元类型

    作者: king       发表时间: 2016-07-21 00:08
    1.C#基元类型 直接映射到FCL中存在的类型,生成的IL代码与使用FCL类型时生成的IL代码完全一致,C#编译器直接支持的数据类型。 C#基元类型中有一部分是与CLS相容的,其他语言也提供对应的基元类型。 2.C#基元类型清单 CLS相容部分 (1)整型 byte System.Byte 无符号的8位整数,数值范围从0~255 short System.Int16 有符号16位整数,数值范围-32768 ~ 32767 int System.Int32 有符号32位整数,数值范围-2147483648 ~ 2147483648 long System.Int64 有符号64位整数-9223372036854775808 ~ 9223372036854775808 char System.Char 代表无符号的16位整数,数值范围从0~65535。 Char类型的可能值对应于统一字符编码标准(Unicode)的字符集 (2)浮点型 float System.Single ...
  • Web、移动开发之C#:(3)C#数据类型基础

    作者: king       发表时间: 2016-07-21 00:02
    1.C#的数据类型 Object C#所有类型隐式继承自System.Object。C#支持两种类型:值类型和引用类型。 结构和枚举是值类型。 类、数组、委托、接口是引用类型。 基元类型 C#中还存在一种编译器直接支持的数据类型。基元类型直接映射到FCL中存在的类型,相对应的二者在生成IL代码时没有区别。 引用类型 继承关系:引用类型如果没有从其他类型派生,就默认的直接继承自Object。 内存分配:引用类型的实例总是从托管堆上分配,C# new操作符返回对象的内存地址。 对象:即类型的一个实例,是类型实例的另一种称谓。 值类型 文档将所有值类型称为结构或枚举,值类型用struct或enum来声明。 继承关系:结构体直接继承自System.ValueType;而枚举直接继承自System.Enum, Enum类又直接继承自System.ValueType。System.ValueType又派生自System.Object。 内存分配:做为局部变量和方法参数的值类型的实例在线程...
  • Web、移动开发之C#:(2)C#语言及语法

    作者: king       发表时间: 2016-07-20 23:56
    参考书籍: 在介绍C#语言前,先推荐两本书 :Jeffrey Richer (美)的《CLR via C# (第4版)》和Jon Skeet(英)的《深入理解C#(第3版)》。 CLR via C#(第4版) 包括C#所有数据类型设计的详细剖析、.Net异常、内存管理、程序集、序列化等核心机制以及线程处理的深入讲解。深入、全面。适合中高级开发人员阅读,既能巩固C#编程,又能全方位学习.Net Framework、CLR知识。 深入理解C#(第3版) C#1到C#5所有版本的语言特性最详细的剖析,包含所有C#语言中最基础和最高级的知识。本书特点是深入浅出。适合初学到高级的各层次的开发人员。   掌握C#最基本的要抓住两条主线:类型设计和语言特性。以上两本书正好在这两个方面各有侧重。在开发过程中精读一下这两本书,不仅有助于掌握和提高C#编程技能,同时也有助于形成简洁、优雅的代码风格。当然这里只是针对语言而言的,仅仅这些在编程上是不够用的,在语言之外还要使用到很多的知识和技能。 1. C#语言要点 C...
  • Web、移动开发之C#:(1)编程语言介绍

    作者: king       发表时间: 2016-07-20 23:51
    程序员要掌握的编程语言 以下是IEEE Spectrum 与计算机记者 Nick Diakopoulos 携手给出的编程语言人气排行榜前十名,左边一列是2015年排行榜,右边一列是2014年的排行榜。 个人观点,Web和移动开发方向的开发,需要熟练掌握以上排行中3-5门编程语言,同时还需要掌握数据语言SQL、标记语言Html、Css等。要支撑从数据库、服务端到web前端以及移动端各环节的开发,涉及的有SQL、C#、Java、JavaScript、Html等,如果涉及IOS平台开发,就还包括Object-C和Swift在内。这样看来,只会1-2门语言,是远远不够的,经验丰富的开发人员,其熟练使用的编程语言可能达到5-6门之多。 对于初学者,一个阶段以重点学习和使用一门语言为宜,以确保基础牢固。但是一旦能熟练使用一门语言的时候,就要考虑多学习和使用一门语言。程序员千万不要给自己设限,技能越多,机会才越多。 Web、移动开发编程语言 本人认为Web、移动开发中涉及的编程语言如下图所示: 其中当前比较流行的3大we...
  • C#使用ConfigurationManager类动态修改配置文件

    作者: king       发表时间: 2015-08-08 20:24
    参考文档: https://msdn.microsoft.com/zh-cn/library/system.configuration.configurationmanager.refreshsection(v=VS.100).aspx 在程序运行时动态的修改app.config文件,用ConfigurationManager在app.config中写入新的值,重启程序即能生效。 如配置文件如下: <configuration>   <appSettings>     <add key="name" value="oldvalue"/>   </appSettings> </configuration> 修改配置文件的代码如下: private static void ChangeConfigurat...