C#经常使用类库

Arrayhtml

  1. 用括号声明数组是C#中使用Array类的记号。在后台使用C#语法,会建立一个派生于抽象基类Array的新类。这样,就可使用Array类为每一个C#数组定义的方法和属性了。
  2. Array类实现了IEumerable、ICollection和IList接口,以访问和枚举数组中的元素。因为用定制数组建立的类派生于Array抽象类,因此能使用经过数组变量执行的接口中的方法和属性。

a)      IEumerable接口是由foreach语句用于迭代数组的接口。node

b)      ICollection接口派生于IEumerable接口,这个接口主要用于肯定集合中的元素个数,或用于同步。正则表达式

c)      IList接口派生于ICollection接口,Array类实现IList接口的主要缘由是IList接口定义了Item属性,以使用索引器访问元素。sql

  1. Array类包含的以下属性和方法能够用于每一个数组实例。

属性及方法数据库

说明express

Length编程

Length属性返回数组中的元素个数。若是是一个多维数组,该属性会返回全部阶的元素个数。若是须要肯定一维中的元素个数,则可使用GetLength()方法数组

LongLength缓存

Length属性返回int值,而LongLength属性返回long值。若是数组包含的元素个数超出了32位int值的取值范围,就须要使用LongLength属性,来得到元素个数安全

Rank

使用Rank属性能够得到数组的维数

CreateInstance()

若是事先不知道元素的类型,就可使用该静态方法,由于类型能够做为Type对象传送给CreateInstance()方法。

SetValue()

SetValue()方法设置数组的元素,其参数是每一维的索引

Clone()

由于数组是引用类型,因此将一个数组变量赋予另外一个数组变量,就会获得两个指向同一数组的变量。而复制数组,会使数组实现ICloneable接口。这个接口定义的Clone()方法会建立数组的浅副本。

Sort()

Array类实现了对数组中元素的冒泡排序。Sort()方法须要数组中的元素实现IComparable接口。简单类型,如System.String和System.Int32实现了IComparable接口,因此能够对包含这些类型的元素排序。

Count

Count属性可肯定集合中的元素个数,它返回的值与Length属性相同

IsSynchronized

SyncRoot

IsSynchronized属性肯定集合是不是线程安全的。对于数组,这个属性老是返回false。对于同步访问,SyncRoot属性能够用于线程安全的访问。

CopyTo()

利用CopyTo()方法能够将数组的元素复制到现有的数组中。它相似于静态方法Array.Copy()

Add()

Add()方法用于在集合中添加元素。对于数组,该方法会抛出NotSupportedException异常

Clear()

Clear()方法可清除数组中的全部元素。值类型设置为0,引用类型设置为null

Contains()

Contains()方法能够肯定某个元素是否在数组中。其返回值是true或false。这个方法会对数组中的全部元素进行线性搜索,直到找到所需元素为止

IndexOf()

IndexOf()方法与Contains()方法相似,也是对数组中的全部元素进行线性搜索。不一样的是,IndexOf()方法会返回所找到的第一个元素的索引

Insert()

对于集合,Insert()方法用于插入元素,对于数组,这方法抛出NotSupportedException异常

Remove()

RemoveAt()

对于集合, Remove()和RemoveAt()可删除元素。对于数组,这些方法抛出NotSupportedException异常

IsFixedSize

数组的大小老是固定的,因此这个属性老是返回true

IsReadOnly

数组老是能够读/写的,因此这个属性返回false。

Item

Item属性能够用整型索引访问数组

MoveNext()

MoveNext()方法移动到集合的下一个元素上,若是有这个元素,该方法就返回true。若是集合再也不有更多的元素,该方法就返回false

Current

属性Current返回光标所在的元素

Reset()

Reset()方法将光标从新定位于集合的开头。许多枚举会抛出NotSupportedException异常

GetEumerator()

数组或集合执行带GetEumerator()方法的IEumerable接口。GetEumerator()方法返回一个执行IEumerable接口的枚举。接着,foreach语句就可使用IEumerable接口迭代集合了。

 

System.Text.String

  1. System.String是一个类,专门用于存储字符串,容许对字符串进行许多操做。因为这种数据类型很是重要,C#提供了它本身的关键字和相关的语法,以便于使用这个类来处理字符串。
  2. 使用“+”运算符重载能够链接字符串。
  3. C#还容许使用相似于索引器的语法来提取指定的字符。
  4. 这个类能够完成许多常见的任务,例如替换字符、删除空白和把字母变成大写形式等。可用的方法以下:

方法

做用

Compare()

比较字符串的内容,考虑文化背景(区域),肯定某些字符是否相等

CompareOrdinal ()

与Compare同样,但不考虑文化背景

Concat ()

把多个字符串实例合并为一个实例

CopyTo ()

把特定数量的字符从选定的下标复制到数组的一个全新实例中

Format ()

格式化包含各类值的字符串和如何格式化每一个值的说明符

IndexOf ()

定位字符串中第一次出现某个给定子字符串或字符的位置

IndexOfAny ()

定位字符串中第一次出现某个字符或一组字符的位置

Insert ()

把一个字符串实例插入到另外一个字符串实例的指定索引处

Join ()

合并字符串数组,创建一个新字符串

LastIndexOf ()

与IndexOf同样,但定位最后一次出现的位置

LastIndexOfAny ()

与IndexOfAny,但定位最后一次出现的位置

PadLeft ()

在字符串的开头,经过添加指定的重复字符填充字符串

PadRight ()

在字符串的结尾,经过添加指定的重复字符填充字符串

Replace ()

用另外一个字符或子字符串替换字符串中给定的字符或子字符串

Split ()

在出现给定字符的地方,把字符串拆分为一个子字符串数组

Substring ()

在字符串中获取给定位置的子字符串

ToLower ()

把字符串转换为小写形式

ToUpper ()

把字符串转换为大写形式

Trim ()

删除首尾的空白

 

 

 

 

 

 

 

 

System.Text.StringBuilder

  1. String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中建立一个新的字符串对象,这就须要为该新对象分配新的空间。在须要对字符串执行重复修改的状况下,与建立新String 对象相关的系统开销可能会很是昂贵。若是要修改字符串而不建立新的对象,则可使用 System.Text.StringBuilder 类。
  2. 在使用String类构造一个字符串时,要给它分配足够的内存来保存字符串,但StringBuilder一般分配的内存会比须要的更多。开发人员能够选择显式指定StringBuilder要分配多少内存,但若是没有显式指定,存储单元量在默认状况下就根据StringBuilder初始化时的字符串长度来肯定。它有两个主要的属性:

1)      Length指定字符串的实际长度.

2)      Capacity是字符串占据存储单元的最大长度。

  1. 主要的StringBuilder方法:

名称

做用

Append()

给当前字符串添加一个字符串

AppendFormat()

添加特定格式的字符串

Insert()

在当前字符串中插入一个子字符串

Remove()

从当前字符串中删除字符

Replace()

在当前字符串中,用某个字符替换另外一个字符,或者用当前字符串中的一个子字符串替换另外一字符串。

ToString()

把当前字符串转换为System.String对象(在System.Object中被重写)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

System.Collections命名空间

  1. 集合是一组组合在一块儿的相似的类型化对象。任何类型的对象均可被组合到 Object 类型的单个集合中,以利用采用该语言继承的构造。
  2. System.Collections 命名空间包含接口和类,这些接口和类定义各类对象的集合。
  3. 集合类型是数据集合的常见变体,例如哈希表、队列、堆栈、字典和列表。
  4. System.Collections 命名空间主要成员:

说明

ArrayList

使用大小可按需动态增长的数组实现 IList 接口。

BitArray

管理位值的压缩数组,该值表示为布尔值,其中 true 表示位是打开的 (1),false 表示位是关闭的 (0)。

Hashtable

表示键/值对的集合,这些键/值对根据键的哈希代码进行组织。

Queue

表示对象的先进先出集合。

SortedList

表示键/值对的集合,这些键值对按键排序并可按照键和索引访问。

Stack

表示对象的简单的后进先出非泛型集合。

接口

说明

ICollection

定义全部非泛型集合的大小、枚举数和同步方法。

IComparer

公开一种比较两个对象的方法。

IDictionary

表示键/值对的非通用集合。

IDictionaryEnumerator

枚举非泛型字典的元素。

IEnumerable

公开枚举数,该枚举数支持在非泛型集合上进行简单迭代。

IEnumerator

支持对非泛型集合的简单迭代。

IEqualityComparer

定义方法以支持对象的相等比较。

IHashCodeProvider

使用自定义哈希函数为对象提供哈希代码。

IList

表示可按照索引单独访问的对象的非泛型集合。

System.Collections.Generic命名空间

  1. System.Collections.Generic和System.Collections集合的结构有不少类似之处,不一样的是“Generic”提供的都是泛型集合,而“Collections”中的集合并不都支持泛型。
  2. 泛型的意义在于,经过参数化类型来实如今同一份代码上对多种数据类型的操做。这种解释比较抽象,简单来说,泛型就是利用参数化类型将类型抽象化,一般称为“类型多态”。
  3. 泛型使用“<>”将类型参数化,其中被尖括号包装的类型,必须是从System.Object继承的共有成员。
  4. 泛型的优势以下:

1)      更强的类型安全。

2)      更好的复用,由于类型实际上是一个参数。

3)      更高的效率。

4)      更清晰的约束。

  1. System.Collections.Generic空间中的成员基本上和System.Collections相似,只不过是泛型的版本。

System. Text.RegularExpressions命名空间

  1. 正则表达式在各类程序中都有着难以置信的做用。正则表达式能够看作一种有特定功能的小型编程语言:在大的字符串表达式中定位一个子字符串。
  2. System.Text.RegularExpressions 命名空间包含一些类,这些类提供对 .NET Framework 正则表达式引擎的访问。 该命名空间提供正则表达式功能,能够从运行在 Microsoft .NET Framework 内的任何平台或语言中使用该功能。
  3. System.Text.RegularExpressions 命名空间主要成员:

说明

Capture

表示来自单个成功的子表达式捕获的结果。

CaptureCollection

表示一个捕获组作出的捕获的集合。

Group

表示来自单个捕获组的结果。

GroupCollection

返回一次匹配中捕获的组的集合。

Match

表示单个正则表达式匹配的结果。

MatchCollection

表示经过以迭代方式将正则表达式模式应用于输入字符串所找到的成功匹配的集合。

Regex

表示不可变的正则表达式。

应用实例:

Regex rx = new Regex(@"\b(?<word>\w+)\s+(\k<word>)\b",

RegexOptions.Compiled | RegexOptions.IgnoreCase);// Define a regular expression for repeated words.

string text = "The the quick brown fox  fox jumped over the lazy dog dog.";// Define a test string.   

MatchCollection matches = rx.Matches(text);// Find matches.

Console.WriteLine("{0} matches found in:\n {1}", matches.Count, text);// Report the number of matches found.        foreach (Match match in matches)

{

GroupCollection groups = match.Groups;

Console.WriteLine("'{0}' repeated at positions {1} and {2}",  groups["word"].Value, groups[0].Index,

                            groups[1].Index);

 }

// Report on each match.

 

// The example produces the following output to the console:

//       3 matches found in:

//          The the quick brown fox  fox jumped over the lazy dog dog.

//       'The' repeated at positions 0 and 4

//       'fox' repeated at positions 20 and 25

//       'dog' repeated at positions 50 and 54

 

 

 

System.Data.SqlClient 命名空间

  1. System.Data.SqlClient 命名空间这个类集合用于访问托管空间中的 SQL Server 数据库。
  2. 使用 SqlDataAdapter,能够填充驻留在内存中的 DataSet,该数据集可用于查询和更新数据源。
  3. System.Data.SqlClient 命名空间主要成员:

说明

SqlBulkCopy

使您能够用其余源的数据有效批量加载 SQL Server 表。

SqlCommand

表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程。

SqlCommandBuilder

用于将对 DataSet 所作的更改与关联的 SQL Server 数据库的更改相协调。

SqlConnection

表示 SQL Server 数据库的一个打开的链接。没法继承此类。

SqlConnectionStringBuilder

为建立和管理由 SqlConnection 类使用的链接字符串的内容提供了一种简单方法。

SqlDataAdapter

表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库链接。

SqlDataReader

提供一种从 SQL Server 数据库读取行的只进流的方式。

SqlError

收集与 SQL Server 返回的警告或错误有关的信息。

SqlErrorCollection

收集 SQL Server .NET Framework 数据提供程序生成的全部错误。

SqlException

当 SQL Server 返回警告或错误时引起的异常。没法继承此类。

SqlParameter

表示 SqlCommand 的参数,也能够是它到 DataSet 列的映射。

SqlTransaction

表示要在 SQL Server 数据库中处理的 Transact-SQL 事务。

System.Data命名空间

  1. System.Data 命名空间提供对表示 ADO.NET 结构的类访问。经过 ADO.NET 能够生成一些组件,用于有效管理多个数据源的数据。
  2. ADO.NET 结构的中心构件是 DataSet。每一个 DataSet 均可以包含多个 DataTable对象,每一个 DataTable 都包含来自单个数据源(如 SQL Server)的数据。
  3. 每一个 DataTable 都包含一个 DataColumnCollectionDataColumn对象的集合),DataColumnCollection 决定每一个 DataTable 的架构。DataType 属性肯定 DataColumn 所包含的数据的类型。使用 ReadOnly 和 AllowDBNull 属性能够进一步确保数据完整性。使用 Expression 属性能够构造计算出的列。
  4. 若是 DataTable 参与同另外一个 DataTable 的父/子关系,则经过将DataRelation 添加到 DataSet 对象的 DataRelationCollection 来构造该关系。
  5. 使用 System.Data.SqlClient 命名空间(用于 SQL Server 的 .NET Framework 数据提供程序)、System.Data.Odbc 命名空间(用于 ODBC 的 .NET Framework 数据提供程序)、System.Data.OleDb 命名空间(用于 OLE DB 的 .NET Framework 数据提供程序)或 System.Data.OracleClient 命名空间(用于 Oracle 的 .NET Framework 数据提供程序),可访问要与 DataSet 结合使用的数据源。每一个 .NET Framework 数据提供程序都有相应的 DataAdapter,能够将它用做数据源和 DataSet 之间的桥梁。
  6. System.Data命名空间主要成员:

说明

Constraint

表示可在一个或多个 DataColumn 对象上强制的约束。

ConstraintCollection

表示 DataTable 的约束的集合。

DataColumn

表示 DataTable 中列的架构。

DataColumnCollection

表示 DataTable 的 DataColumn 对象的集合。

DataException

表示使用 ADO.NET 组件发生错误时引起的异常。

DataRelation

表示两个 DataTable 对象之间的父/子关系。

DataRelationCollection

表示此 DataSet 的 DataRelation 对象的集合。

DataRow

表示 DataTable 中的一行数据。

DataRowCollection

表示 DataTable 的行的集合。

DataRowView

表示 DataRow 的自定义视图。

DataSet

表示数据在内存中的缓存。

DataTable

表示内存中数据的一个表。

DataTableCollection

表示 DataSet 的表的集合。

DataTableReader

DataTableReader 以一个或多个只读、只进结果集的形式获取一个或多个 DataTable 对象的内容。

DataView

表示用于排序、筛选、搜索、编辑和导航的 DataTable 的可绑定数据的自定义视图。

完整实例:

string sqlConnectionCommand = "Data Source=aa;Initial Catalog=bb;User ID=cc;Pwd=dd";

string dataTableName = "Basic_Keyword_Test";

string sqlSelectCommand = "Select KeywordID, KeywordName From Basic_Keyword_Test";

 

SqlConnection sqlConnection = new SqlConnection(sqlConnectionCommand);

SqlCommand sqlCommand = new SqlCommand();

sqlCommand.CommandType = System.Data.CommandType.Text;

sqlCommand.Connection = sqlConnection;

sqlCommand.CommandText = sqlSelectCommand;

 

sqlConnection.Open();

SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();

sqlDataAdapter.SelectCommand = sqlCommand;

 

DataSet dataSet = new DataSet();

SqlCommandBuilder sqlCommandBuilder = new SqlCommandBuilder(sqlDataAdapter);

sqlDataAdapter.Fill(dataSet, dataTableName);

 

DataRow row = dataSet.Tables[0].NewRow();

row[0] = 10000;

row[1] = "new row";

 

dataSet.Tables[0].Rows.Add(row);

sqlDataAdapter.Update(dataSet, dataTableName);

sqlCommand.Dispose();

sqlDataAdapter.Dispose();

sqlConnection.Close();

 

 

System.Xml 命名空间

System.Xml 命名空间为处理 XML 提供基于标准的支持。主要成员有以下:

说明

XmlAttribute

表示一个属性。此属性的有效值和默认值在文档类型定义 (DTD) 或架构中进行定义。

XmlAttributeCollection

表示能够按名称或索引访问的属性的集合。

XmlDataDocument

容许经过相关的 DataSet 存储、检索和操做结构化数据。

XmlDeclaration

表示 XML 声明节点:<?xml version='1.0'...?>。

XmlDocument

表示 XML 文档。

XmlDocumentFragment

表示对树插入操做有用的轻量对象。

XmlDocumentType

表示文档类型声明。

XmlElement

表示一个元素。

XmlException

返回有关最后一个异常的详细信息。

XmlNode

表示 XML 文档中的单个节点。

XmlNodeReader

表示提供对 XmlNode 中的 XML 数据进行快速、非缓存的只进访问的读取器。

XmlReader

表示提供对 XML 数据进行快速、非缓存、只进访问的读取器。

XmlReaderSettings

指定在 Create 方法建立的 XmlReader 对象上支持的一组功能。

XmlText

表示元素或属性的文本内容。

XmlTextReader

表示提供对 XML 数据进行快速、非缓存、只进访问的读取器。

XmlTextWriter

表示提供快速、非缓存、只进方法的编写器,该方法生成包含 XML 数据(这些数据符合 W3C 可扩展标记语言 (XML) 1.0 和“XML 中的命名空间”建议)的流或文件。

XmlWriter

表示一个编写器,该编写器提供一种快速、非缓存和只进的方式来生成包含 XML 数据的流或文件。

XmlWriterSettings

指定在由 System.Xml.XmlWriter.Create 方法建立的 XmlWriter 对象上支持的一组功能。

完整实例:

XmlDocument xmlDoc=new XmlDocument();

xmlDoc.Load("bookstore.xml");

XmlNode root=xmlDoc.SelectSingleNode("bookstore");

XmlElement xe1=xmlDoc.CreateElement("book");

xe1.SetAttribute("genre","小橘");

xe1.SetAttribute("ISBN","2-3631-4");

XmlElement xesub1=xmlDoc.CreateElement("title");

xesub1.InnerText="C#从入门到精通";

xe1.AppendChild(xesub1);

XmlElement xesub2=xmlDoc.CreateElement("author");

xesub2.InnerText="候捷";

xe1.AppendChild(xesub2);

root.AppendChild(xe1);

xmlDoc.Save("bookstore.xml");

System.IO 命名空间

System.IO 命名空间包含容许读写文件和数据流的类型以及提供基本文件和目录支持的类型。主要成员有以下:

说明

BinaryReader

用特定的编码将基元数据类型读做二进制值。

BinaryWriter

以二进制形式将基元类型写入流,并支持用特定的编码写入字符串。

BufferedStream

给另外一流上的读写操做添加一个缓冲层。

Directory

公开用于建立、移动和枚举经过目录和子目录的静态方法。

DirectoryInfo

公开用于建立、移动和枚举目录和子目录的实例方法。

DriveInfo

提供对有关驱动器的信息的访问。

File

提供用于建立、复制、删除、移动和打开文件的静态方法,并协助建立 FileStream 对象。

FileInfo

提供建立、复制、删除、移动和打开文件的实例方法,而且帮助建立 FileStream 对象。没法继承此类。

FileStream

公开以文件为主的 Stream,既支持同步读写操做,也支持异步读写操做。

IOException

发生 I/O 错误时引起的异常。

MemoryStream

建立其支持存储区为内存的流。

Path

对包含文件或目录路径信息的 String 实例执行操做。这些操做是以跨平台的方式执行的。

StreamReader

实现一个 TextReader,使其以一种特定的编码从字节流中读取字符。

StreamWriter

实现一个 TextWriter,使其以一种特定的编码向流中写入字符。

StringReader

实现从字符串进行读取的 TextReader。

StringWriter

实现一个用于将信息写入字符串的 TextWriter。该信息存储在基础 StringBuilder 中。

TextReader

表示可读取连续字符系列的读取器。

TextWriter

表示能够编写一个有序字符系列的编写器。该类为抽象类。

完整实例:

string path = @"c:\temp\MyTest.txt";

 if (!File.Exists(path)) {// Create a file to write to.

            using (StreamWriter sw = File.CreateText(path)) {

         sw.WriteLine("Hello");

         sw.WriteLine("And");

         sw.WriteLine("Welcome");

             }               

 }

 // Open the file to read from.

 using (StreamReader sr = File.OpenText(path)) {

string s = "";

         while ((s = sr.ReadLine()) != null) {

                Console.WriteLine(s);

          }

 }

摘自:http://www.javashuo.com/article/p-efdqhxgz-q.html

若有侵犯,请联系本人删除!谢谢。。。

相关文章
相关标签/搜索