×

递归函数 递归 函数

什么是递归函数?C# 怎样执行 InitializeComponent() 下面的函数

admin admin 发表于2022-05-28 18:50:17 浏览114 评论0

抢沙发发表评论

什么是递归函数


递归就是本身调用自己。
如n!=n(n-1)!
你定义函数f(n)=nf(n-1)
而f(n-1)又是这个定义的函数。。这就是递归。
实现递归。简单说来从未知的推到已知的
如:3!=3*2!
2!=2*1!
1!=1(已知的)
然后从已知再返回调用给上一层。到你所要求的
1!=1(已知)
2!=2*1!=2*1=2
3!=3*2!=3*2=6
递归结束

C# 怎样执行 InitializeComponent() 下面的函数


  在每一个窗体生成的时候,都会针对于当前的窗体定义InitializeComponent()方法,该方法实际上是由系统生成的对于窗体界面的定义方法。
  //位于.cs文件之中的InitializeComponent()方法
  public Form011()
  {
  InitializeComponent();
  }
  在
  每一个Form文件建立后,都会同时产生程序代码文件.CS文件,以及与之相匹配的.Designer.CS文件,业务逻辑以及事件方法等被编写在.CS
  文件之中,而界面设计规则被封装在.Designer.CS文件里,下面代码为.Designer.CS文件的系统自动生成的脚本代码。
  namespace Example_FormTest
  {
  partial class frmStudent
  {
  /// 《summary》
  /// 必需的设计器变量。
  /// 《/summary》
  private System.ComponentModel.IContainer components = null;

  /// 《summary》
  /// 清理所有正在使用的资源。
  /// 《/summary》
  /// 《param name=“disposing“》如果应释放托管资源,为 true;否则为 false。《/param》
  protected override void Dispose(bool disposing)
  {
  if (disposing && (components != null))
  {
  components.Dispose();
  }
  base.Dispose(disposing);
  }

  #region Windows 窗体设计器生成的代码

  /// 《summary》
  /// 设计器支持所需的方法 - 不要
  /// 使用代码编辑器修改此方法的内容。
  /// 《/summary》
  private void InitializeComponent()
  {
  this.SuspendLayout();
  //
  // frmStudent
  //
  this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
  this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
  this.ClientSize = new System.Drawing.Size(292, 273);
  this.Name = “frmStudent“;
  this.Text = “学生信息“;
  this.MouseClick += new System.Windows.Forms.MouseEventHandler(this.frmStudent_MouseClick);
  this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.frmStudent_KeyPress);
  this.ResumeLayout(false);

  }

  #endregion
  }
  }

  在代码之中,可以很容易发现InitializeComponent()方法和Dispose()方法,前者为界面设计的变现内容,后者为表单释放系统资源时候执行编码。
  InitializeComponent()方法反映了窗体设计器中窗体和控件的属性。通常不会在世界上个文件中修改代码。如果更改InitializeComponent()方法中的相关属性参数,在窗体设计器界面上也会显示出来。
  我们发现建一个c#窗体项目,在Form1.cs和Form1.Designer.cs里分别有一个InitializeComponent()函数
  Form1.Designer.cs 里的是定义 (函数名后面有大括号包含定义内容)
  Form1.cs 里的是调用 (函数名后面分号结尾)
  partial 表示以下创建的是分布类代码
  也就是说 一个类的定义代码 可以写在两个不同的页面
  Form1.cs和Form1.Designer.cs
  注意:InitializeComponent()方法写在前面和后面是有区别的。InitializeComponent()方法是用来初始化窗体组件
  的,在InitializeComponent之前,窗体的各个控件还没有进行初始化,比如说窗体上有一个TextBoxUserName,在
  InitializeComponent之前它还只是一个TextBox类型的变量而已,如果在InitializeComponent之前调用这个
  TextBox的属性或方法,就会出错。再比如说你拖上取一个TextBox,它放在Form的位置,TextBox的一些属性。包括new
  这个TextBox都放在那个函数里面处理的。
  可以看一下Form.Designer.cs,在那里找到InitializeComponent方法,会发现窗体对象的初始化都是在那里做的。

递归函数是什么意思


说的太多反而不清楚是什么
回答问题最好不要复制粘贴。。。
递归就是一个函数内出现调用本身的现象,举个最简单的例子,求阶乘:
当n=0或1时,n!=1;当n》1时,n!=n*(n-1)!通过这样的思想,程序写为:
int
fun(int
n)
{
if(n《2)
return
1;
else
return
n*fun(n-1);
}
看到了fun函数内调用了它本身fun,可以想象一步步下去就可以得到计算结果。
-递归