字符串
strging str = "a string"; // 定义一个字符串变量str,将“a string”字符串常量赋值给str foreach (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委托类型的变量 */
时间: 2024-12-15 06:52:06