System\System.Collections.Generic\System.Text都是系统定义好的命名空间;
而可以使用namespace命令,定义自己的命名空间。
已建好的命名空间使用using命令引入,如:
程序的开头引入的System命名空间,就可以使用Console类了。
如果不引入System命名空间,又要使用Console类,则必须加上System命名空间名,如:System.Console.WriteLine(“Hello Accp .NET);
1¥ 自定义方法
语法: 访问修饰符 返回值类型 方法名(参数列表)
{
//方法的主体
}
1$ 访问修饰符(就是访问的级别)
public 就表示其他类可以访问
private 就只能在类里面使用
2$ 方法的返回类型(void,int,float,double,bool,string)
3$ 方法名:有实际意义,动宾短语,表示能做一件事,单词首字母大写
4$ 参数列表:“类型 参数名”,各参数之间用逗号分开。
5$ 方法的主体:就是代码
2¥ 向方法中传递参数
1$ 值传递:就是只把参数的值传到了方法里面,如果在方法中对参数的
值进行了修改,在方法调用后,参数仍是原来值。
即:传递的是变量的副本,在方法中对副本的处理,不影响原值。
2$ static通过类名直接调用方法
static是C#中的关键字,意为“静态的”
同在一个类中的方法可直接调用
静态方法可通过类名调用,如:Console.WriteLine();
3$ 按引用传递参数
可以在方法调用之后,仍然保留对参数值的修改。
使用ref关键字:
在方法定义时和方法调用时都要使用ref修饰参数,而且使用ref修饰
的参数必须在调用的方法中赋值。
小结:
按值传递,传递的是变量的副本,变量如在调用种有赋值,结果并不保留
按引用传递,传递的是变量本身,如果在调用中有赋值,结果将保留。
3¥ IDE使用技巧进阶(VS的重构功能)暂略
4¥ C#中的String类
C#中也有String类,位于System命名空间,属于.NET Framework类库中。
而平时使用的string(s小写)是String类在C#中的别名
常用的字符串处理方法(暂略,详见p73页表3-1)
1)C#中可以使用“==”比较两个字符串,而Java中不可,只能用Equals.
返回值为bool值,打点调用。
2)int Compare(strA,strB)前后值比较,小于返回负数,等于返回0,
大于返回值正数。(相当于A-B),打点调用。
如:abc.Compare(bcd);
3)int IndexOf(string value),获得指定value字符串在当前字符串中
第一个匹配项的索引。
如果有,返回索引值;没有则返回-1。 打点调用。
4)int LastIndexOf(string value)
获得指定value字符串在当前字符串中,最后一个匹配项的索引。
如果有,返回索引值;没有则返回-1。 打点调用。
5)string Join(string separator, string[] value)
唯一一个静态方法,类名调用。 string。Join()
把字符串数组value中的,每个字符串用指定的分隔符separator连接,
返回连接后的字符串。
6)string[] Split(char separator)
用指定的分隔符separator分割字符串,返回分隔后的字符串数组
打点调用。
如果分隔符是原串中的一个字符,则分好字符串数组中不再有分
隔字符了。
7)string SubString(int startIndex, int length)
从指定的位置startIndex开始检索长度为length的子字符串,返回
截取的子字符串。(含开始位置的字符)
Java中第二个参数是结束位的索引,但子串中不包含结束位。
8)string ToLower()
string ToUpper()
string Trim()
以上三个同Java (暂略)
注意:Split()方法不是静态的,所以要使用一个具体的字符串对象来调用
其参数是想使用的分割符,且必须是字符(char)类型的。
即:字符串.Split();
Join()方法是静态的,所以可直接使用string类名调用,参数有两个:
第一个是连接字符串用的分隔符,是字符串
第二个是要连接的字符串数组
即:string。Join(“_”,字符串数组);
5¥ Format方法(格式化输出字符串)
String类提供了强大的Fromat()方法来格式化字符串
(WriteLine()是Console类中的方法)
语法: string myString = string.Format(“格式字符串",参数列表);
(用法同Console.WriteLine())
6¥ 在C#中进行类型转换
1$ 简单的----数值型数据的相互转换
1$$ 隐式类型转换:
对于数值类型,任何类型A,只要其取值范围完全包含在类型B的
取值范围内,就可以隐式转换为类型B(即小——大,自动转换)
2$$ 显式类型转换:
取值范围大的类型转换为取之范围小的类型时,就需要显式转换
语法: (数据类型符)要被转换的变量名
3$$ 注意:1)类型转换后,浮点数值直接取整,不会四舍五入
2)显式(强制)类型转换并不影响变量的原值