`

C#静态构造函数及静态变量学习

    博客分类:
  • C#
阅读更多
静态构造函数:
(1)用于对静态字段、只读字段等的初始化。              
(2)添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的。        
(3)类的静态构造函数在给定应用程序域中至多执行一次:只有创建类的实例或者引用类的任何静态成员才激发静态构造函数
(4)静态构造函数是不可继承的,而且不能被直接调用。            
(5)如果类中包含用来开始执行的 Main 方法,则该类的静态构造函数将在调用 Main 方法之前执行。    
(6)任何带有初始值设定项的静态字段,则在执行该类的静态构造函数时,先要按照文本顺序执行那些初始值设定项。  
(7)如果没有编写静态构造函数,而这时类中包含带有初始值设定的静态字段,那么编译器会自动生成默认的静态构造函数。
**************************************************
* 静 态 构 造 函 数 练 习
* (1)①②③……为执行顺序
* (2)输出结果: static A()
* static B()
* X = 1, Y = 2
***************************************************/
using System;
class A
{
public static int X;

static A() //④ 执行完后返回到③
{
X = B.Y + 1;
Console.WriteLine("static A()");
}
}

class B
{
public static int Y = A.X + 1; //③ 调用了A的静态成员,
// 转到A的静态构造函数---->

static B() //② 如果带有初始值设定项的静态字段,
// 执行该类的静态构造函数时,
// 先要按照文本顺序执行那些初始值设定项。
// 转到初始值设定项---->
{
Console.WriteLine("static B()");
}

static void Main() //① 程序入口,
// 如果类中包含用来开始执行的 Main 方法,
// 该类的静态构造函数将在调用 Main 方法之前执行。
// 转到B的静态构造函数---->
{
Console.WriteLine("X = {0}, Y = {1}", A.X, B.Y);//⑤ 输出结果
Console.ReadLine();
}
}

分享到:
评论

相关推荐

    浅析C#静态类,静态构造函数,静态变量

    C#中的静态类、静态构造函数和静态变量是编程中重要的概念,它们在程序设计中起着关键的作用。 首先,让我们来理解静态类。在C#中,静态类是一种特殊的类,它不能被实例化,只能通过类名直接调用其静态成员。静态类...

    C#中静态构造函数的几点说明介绍

    以下是关于C#静态构造函数的详细说明: 1. 访问性与参数: 静态构造函数没有访问修饰符,如public或private,因为它们由.NET框架自动调用。同样,它们也不接受参数,因为它们不用于创建实例,而是用于初始化类级的...

    C#静态构造函数用法实例分析

    本文实例讲述了C#静态构造函数用法。分享给大家供大家参考。具体如下: 当我们想初始化一些静态变量的时候,就需要用到静态构造函数了。这个静态构造函数属于类,而不属于实例,就是说这个构造函数只会被执行一次,...

    C#中静态变量的使用

    C#中静态变量的使用 C# 中静态变量的使用是指在 C# 语言中使用静态变量的方法和技术。本文将详细介绍静态变量与...静态变量和静态构造函数是 C# 语言中两个重要的概念,它们可以帮助开发者更好地实现一些特殊的需求。

    C# 静态构造函数使用

    当我们想初始化一些静态变量的时候,需要用到静态构造函数了。这个静态构造函数属于类,而不属于实例,是说这个构造函数只会被执行一次,即:在创建第一个实例或引用任何静态成员之前,由.NET自动调用。  现在碰到...

    C#静态调用webservice

    通过以上步骤,我们可以利用C#静态调用Web Service,实现从客户端应用程序访问IIS上的数据库服务。这种方式简化了调用流程,减少了资源消耗,同时也提供了跨平台通信的能力。然而,实际项目中还需要考虑更多的细节,...

    C# 静态构造函数使用总结

    以下是关于C#静态构造函数的一些关键点: 1. **访问性**:静态构造函数没有访问修饰符。这意味着它们默认为私有,不能从类外部直接调用。 2. **自动调用**:静态构造函数在类的静态成员首次被引用或类的第一个实例...

    解析C#中的私有构造函数和静态构造函数

    本文将深入解析两种特殊的构造函数:私有构造函数和静态构造函数,它们在C#入门学习中扮演着重要角色。 **私有构造函数** 私有构造函数是一种具有`private`访问修饰符的构造函数,它限制了类的实例化,通常用于只...

    学习C#静态函数及变量的一个精典例子与代码

     (3)类的静态构造函数在给定应用程序域中至多执行一次:只有创建类的实例或者引用类的任何静态成员才激发静态构造函数 (4)静态构造函数是不可继承的,而且不能被直接调用。 (5)如果类中包含用来开始执行的...

    dotnet C# 如果在构造函数抛出异常 是否可以拿到对象赋值的变量.rar

    - 使用静态构造函数初始化静态字段,它们在类的任何实例创建之前运行,且不能抛出可被捕获的异常。 - 在设计类时,考虑异常安全性,确保即使在异常情况下,类的状态也能保持一致。 以上就是关于标题和描述中提到...

    dotnet C# 多次对一个对象调用构造函数会发生什么.rar

    5. **静态构造函数**:C#中的静态构造函数只会在类首次被使用时调用一次,与对象实例无关。因此,多次调用对象的构造函数不会影响静态构造函数。 6. **代码设计**:在实际编程中,通常不建议直接在代码中多次调用同...

    C#三种窗体之间传值全局变量、构造函数、委托

    本篇文章将详细介绍三种在C#窗体间传递值的方法:全局变量、构造函数和委托。 1. **全局变量**: 全局变量是一种在整个程序范围内都可以访问的变量,不受函数或类的限制。在窗体间传递数据时,可以在公共类或全局...

    c# 类的静态字段操作

    3. **静态构造函数**:静态构造函数在类首次被引用时执行一次,可以用于初始化静态字段。静态构造函数不能被直接调用,由编译器自动处理。 在`eg3_10`这个示例文件中,可能包含了一个或多个类,其中一个类定义了...

    C#中static静态变量的用法实例

    本文实例讲述了C#中static静态变量的用法。分享给大家供大家参考。具体如下: 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,...

    c#面向对象静态类、构造方法、静态方法介绍.zip

    通过“跟着王进老师学开发C#篇第二季”的系列教程,你将能够掌握面向对象编程的基本概念,例如定义全局静态变量、实现抽奖系统的功能、使用静态类以及理解构造方法的工作原理,从而快速入门C#编程。实践这些知识,你...

    C#静态static的用法实例分析

    本文实例讲述了C#静态static的用法,分享给大家供大家参考。具体用法分析如下: 一、静态类 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量。在声明一个类时...

    C#源代码-静态和非静态.zip

    4. 静态构造函数:静态构造函数在类的首次使用时运行一次,用于初始化静态变量或执行其他静态初始化操作。它不能被直接调用,而是由运行时自动执行。 接下来,我们讨论非静态(非实例)成员。非静态成员与类的实例...

Global site tag (gtag.js) - Google Analytics