C# 第五章 基础类及常用算法

5.1DotNet基本类库—-要编程需要知道这些

统一的编程API:NET Framework 类库

5.2基本类型及基本类型转换

任何事物都是对象

任何事物都是object类的子类

一个函数如果需要object参数,则可以代入任意参数

任何对象都有以下方法

ToString() Equals() GetType()

MemberwiseClone()等

常量也是对象

3.ToString()

“Hello”.Length

 

表达式中的类型转换

当有不同种类的混合运算时

强制类型转换

System.Convert类有以下static方法

ToDouble(..)

ToInt32(…)

ToDateTime(…)

 

基本类型

关键字含有等价的类

int 即System.Int32

 

含有一些特殊的属性或方法

int.MaxValue

double.NaN

Double.PositiveInfinity

Double.IsNaN()

 

数与字符串的转换

int.Parse(string)

int.TryParse(textBox1.Text,out ans)

 

double.ToString();

ToString(“#0.00”)

 

5.3几个常用类

Math类

提供了相关的数学方法

Abs()

Sin()Cos() Tan()

Round()四舍五入

Exp()指数 Log()对数

Pow()乘方

 

Random类

.Next(100)     0到100之间(不含100)

.NextDouble()  0到1之间

Randoum得到的是伪随机数

如果要用更强的随机数,可以使用

System.Security.Cryptography

.RNGCryptoServiceProvider

 

DateTime及TimeSpan

DateTime是值类型

new DateTime(y,m,d,h,m,s)

.Now

.ToString(“yyyy-MM—dd HH:mm:ss”)

.AddMinutes(5)

.Year,.Month,.Day,.Date

TimeSpan

两个日期相减,可以得到一个TimeSpan

 

String类

==  +[]

.Length .IndexOf .LastIndexOf

.StartWith, .EndsWith

Substring(idx,len)注意第二个参数

.Trim, .TrimEnd, .PadLeft, .Insert .Remove

.Split(‘;’) string.Join

 

String内容不可改变(immutable)

StringBuilder内容可改变

.Append .Remove .Replace

.Length .ToString

在循环体中用s+=…可能会带来效率问题

 

5.4数组与集合

声明

int [] a;

int [,] b;

分配空间

a= new int[5];

b= new int[4,5];

 

集合类

System.Collections命名空间

数组列表 ArrayList

相当于动态数组,实现List

哈希表 Hashtable

相当于键/值得集合表示增加、删除、修改

提示:用于查询时,比线性搜索的效率高,可用于程序的优化

栈和队列 Stack Queue

 

使用foreach访问数组及集合

foreach(类型 变量 in xxxx)

其中xxx 必须是实现了实现IEnumerable接口或含有GetEnumerator方法的类型

这个方法的原型是IEnumerator GetEnumerator();

返回的是一个接口IEnumerator

Current属性

MoveNext及Reset方法

 

泛型集合

泛型具有更好的类型检查及性能

System.Collection.Generic名称空间

排序

自己写排序程序

使用SortedXXXX类

使用Array.Sort方法

示例ArraySort.cs

Array.Sort(ary,(a,b)=>a.Length-b.Length)

 

    原文作者:五大常用算法
    原文地址: https://blog.csdn.net/u010104301/article/details/80697469
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞