首页 > 代码库 > C#学习--基础二

C#学习--基础二

字符串

strging str = "a string"; // 定义一个字符串变量str,将“a string”字符串常量赋值给strforeach (char character in str){ // 遍历字符串    Console.WriteLine("{0}", character);}char[] chars = str.ToCharArray(); // str对象调用ToCharArray()方法,将str转换成char数组并返回 // 在字符串的左边拼接字符‘-’,使整个字符串的长度为15 Console.Write("strT1 padLeft 10:{0}\n", strT1.PadLeft(15, -)); // 在字符串的左边拼接字符‘-’,使整个字符串的长度为15 Console.Write("strT1 padRight 10:{0}\n", strT1.PadRight(15, -));

 

函数

* 函数的定义和使用:

// 定义一个静态方法,返回值为int类型static int TestFunc(){    Console.WriteLine("This is a function");    return 10;// 返回一个整形}static void Main(string[] args)        {      // insert code      TestFunc();// 函数调用}// main函数解析/* static 关键字 表示是静态方法,一个类只有一份 void 返回值,为空 Main 函数名,一般采用驼峰命名规则 args 函数参数*/// 参数数组/*C# 允许为函数指定一个(智能一个)特殊参数,这个参数必须是函数的最后一个参数,称为参数数组*/定义如下:static <returnType> <FunctionName> (<p1Type><p1Name>, ..., params <type>[] <name>){...}// 引用参数和值参数/*前面我们使用的都是值参数,在函数里面做的任何事都不会对实参有影响,要想在函数里面就改变实参的值,就要使用 "ref" 关键字*/static void ShowDouble(ref int val){    val = val * 10;}Main (){    float a = 10.5f;    ShowDouble    Console.WriteLine(ref a); // 控制台将输出105}// 输出参数:类似与引用参数使用 out关键字static void ShowDouble(out int val){    val = 10;}/* ref 和 out的区别:    1.把未赋值的变量作为ref参数是非法的,但是可以把未赋值的变量作为out参数(实质区别,ref操作的是堆指针,out是栈指针(我是这样理解的))    2.在函数使用out参数时,必须把它看成是尚赋值*/// 变量作用域。这应该和C是一样的。。。// 结构函数。 就是在结构体里面的函数// 函数重载。函数允许创建多个同名函数,每个函数可以使用不同的参数类型。意思是同名的函数只要函数签名不一样就没问题;函数签名包含函数名称及其参数// 委托, 委托是一种存储韩式引用的类型(话说这不是C里面的函数指针吗!) // 委托声明: delegate double ProcessDel(double param1, double param2)  // 定义一个委托ProcessDelegate,其返回类型为double,两个double类型参数// 函数static double Multipy(double param1, double param2){     return 10.9;}ProcessDelegate process = new ProcessDel(Multipy);// 声明一个ProcessDelegate委托类型的变量*/

 

C#学习--基础二