C#编程点滴:传值调用、引用调用、三角形打印与递归阶乘解析

0 下载量 62 浏览量 更新于2024-09-01 收藏 469KB PDF 举报
"C#常用知识点简单回顾,涵盖了传值调用与引用调用、打印三角形、递归求阶乘以及多态性等基础但重要的编程概念,通过实例代码和图表帮助理解。" 在C#编程中,了解并熟练掌握这些基本知识点至关重要,下面将逐一详解: 1) 传值调用与引用调用 C#函数参数传递主要有三种方式:传值(默认)、传引用(ref)和传出(out)。传值调用时,函数内部对参数的修改不会影响到外部变量;而传引用和传出则允许函数修改原始变量的值。在传引用(ref)调用中,需要在函数调用和声明时都使用ref关键字,而出传出(out)调用时,变量在调用前不需要初始化,且函数必须为out参数赋值。 ```csharp public static void AMethod(int x, ref int y, out int z) // 传引用和传出示例 ``` 2) 打印三角形 这是一个经典的控制台输出问题,通过嵌套循环实现。外层循环控制行数,内层循环控制每行的空格数量,然后打印星号(*)形成三角形。代码中用户输入行数,程序根据输入生成相应大小的三角形。 ```csharp for (int i = 1; i <= lines; i++) // 行数循环 { for (int k = 1; k <= lines - i; k++) // 空格循环 Console.Write(""); for (int j = 1; j <= i * 2 + 1; j++) // 星号循环 Console.Write("*"); Console.WriteLine(""); } ``` 3) 递归求阶乘 递归是解决问题的一种重要方法,它通过函数自身调用来实现。在C#中,递归通常用于计算阶乘。阶乘定义为n! = n × (n-1) × ... × 1。递归版本的阶乘函数会调用自身,直到n等于1或0时返回1(因为0!和1!都等于1)。 ```csharp public static int Factorial(int n) { if (n == 0 || n == 1) return 1; else return n * Factorial(n - 1); } ``` 4) 多态性 多态性是面向对象编程的核心特性之一,允许不同的对象对同一消息做出不同的响应。在C#中,多态性主要通过继承、接口和方法重写来实现。例如,一个基类定义了一个方法,子类可以重写这个方法,当调用该方法时,根据对象的实际类型执行相应的代码。 ```csharp public class BaseClass { public virtual void SomeMethod() { Console.WriteLine("BaseClass method called"); } } public class DerivedClass : BaseClass { public override void SomeMethod() { Console.WriteLine("DerivedClass method called"); } } ``` 在这个例子中,`SomeMethod`在基类和派生类中有不同的实现,这就是多态性的体现。 以上内容是C#编程中的一些基本知识点,理解和掌握它们对于编写高效、可维护的代码至关重要。在实际编程过程中,结合这些基础知识,开发者可以构建出更复杂、功能丰富的应用。