c#关键字 static

static 修饰符可用于声明 static 类。 在类、接口和结构中,可以将 static 修饰符添加到字段、方法、属性、运算符、事件和构造函数。 static 修饰符不能用于索引器或终结器

尽管类的实例包含该类的所有实例字段的单独副本,但每个 static 字段只有一个副本。

不可以使用 this 引用 static 方法或属性访问器。

类、接口和 static 类可以具有 static 构造函数。 在程序开始和实例化类之间的某个时刻调用 static 构造函数。

静态类

静态类的所有成员都必须为 static。

//静态类
static class CompanyEmployee
{//静态类的所有成员都必须为 staticpublic static void DoSomething() { /*...*/ }public static void DoSomethingElse() { /*...*/  }
}

常数或类型声明是隐式的 static 成员。 不能通过实例引用 static 成员。 然而,可以通过类型名称引用它。

public class MyBaseC
{public struct MyStruct{public static int x = 100;}
}

若要引用 static 成员 x,除非可从相同范围访问该成员,否则请使用完全限定的名称 MyBaseC.MyStruct.x:

Console.WriteLine(MyBaseC.MyStruct.x);

静态字段和方法

public static int employeeCounter;public static int AddEmployee(){return ++employeeCounter;}

静态初始化

此示例演示了如何使用尚未声明的 static 字段来初始化另一个 static 字段。 在向 static 字段显式赋值之后才会定义结果。

class Test
{static int x = y; //尚未声明的 static 字段y来初始化另一个 static 字段xstatic int y = 5;static void Main(){Console.WriteLine(Test.x);Console.WriteLine(Test.y);Test.x = 99;Console.WriteLine(Test.x);}
}
/*
Output:0599
*/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/757798.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MFC界面美化第四篇----自绘list列表(重绘列表)

1.前言 最近发现读者对我的mfc美化的专栏比较感兴趣,因此在这里进行续写,这里我会计划写几个连续的篇章,包括对MFC按钮的美化,菜单栏的美化,标题栏的美化,list列表的美化,直到最后形成一个完整…

Codeforces Round 935 (Div. 3)(A,B,C,D,E,F)

比赛链接 阳间场,阴间题,最考阅读理解的一场。题目本身的难度不大。 A. Setting up Camp 题意: 组委会计划在奥运会结束后带领参赛者进行一次徒步旅行。目前,需要携带的帐篷数量正在计算中。据了解,每个帐篷最多可容…

什么是硬件加速?

硬件加速是指通过使用专门设计的硬件来提高计算机系统的性能和效率。传统的软件运行在通用的中央处理器(CPU)上,而硬件加速则利用专用的硬件组件来加速特定的计算任务。这些硬件组件可以是图形处理器(GPU)、数字信号处…

前端vue3-手动设置滚动条位置/自动定位

从B页面进行xx操作后需要跳转到A页面,并定位到AA职位,上图为A页面。 A页面的左侧是div,内层包裹List组件 给div定义refleftRef,在代码中写如下: function scrollTop() {if (leftRef.value) {console.log(99, leftRef.value);next…

每天学习一个Linux命令之vim

每天学习一个Linux命令之vim Vim是一款功能强大的文本编辑器,在Linux系统中广泛使用。本篇博客将介绍一些常用的Vim命令及其选项,帮助您更好地使用Vim进行文本编辑。 命令及选项 以下是Vim的常用命令及其可用选项: 1. 打开文件 $ vim fi…

0基础 三个月掌握C语言(13)

数据在内存中的存储 整数在内存中的存储 在讲解操作符时 我们就已经学习了该部分的内容 这里我们回顾一下 整数的二进制表示方法有三种:原码 反码 补码 有符号的整数(unsigned) 三种表达方式均有符号位和数值位两部分 最高位的一位被当…

文件包含漏洞之包含SESSION(CTF题目)

这次使用的环境是ubuntunginxphpmysql 首先四个文件源码在以下链接中: 一道CTF题:PHP文件包含 | Chybeta 我们注册一个用户名111密码111,然后登录查看cookie和linux的session,因为我们的de服务器 是手动搭建的,所以…

Java IO模型

NIO Java IO 模型1. 什么是IO计算机结构角度应用程序角度 2. 常见的内存模型3. Java中常见的IO模型3.1 BIO(Blocking I/O)3.2 NIO(Non-blocking/New I/O)同步非阻塞 IO 模型I/O 多路复用模型 3.3 AIO(Asynchronous I/O…

Python从入门到精通秘籍八

一、Python中函数的多返回值 在Python中,函数可以返回多个值。这种特性可以通过将多个变量包装在一个元组或列表中来实现。下面是一个示例代码: def multiple_returns():a 1b 2c 3return a, b, cresult multiple_returns() print(result) # 输出&…

Spring6.1新特性,四种方式调用REST接口(RestClient、WebClient、RestTemplate、HTTP Interface)

个人博客:无奈何杨(wnhyang) 个人语雀:wnhyang 共享语雀:在线知识共享 Github:wnhyang - Overview 官网 REST Clients :: Spring Framework The Spring Framework provides the following choices for…

电子元器件批发采购中的供应链透明度与可追溯性

电子元器件批发采购中的供应链透明度与可追溯性是非常重要的,特别是考虑到供应链的复杂性和全球化。以下是一些关于如何增强供应链透明度和可追溯性的建议: 供应商审核与选择:对潜在的供应商进行全面的审核和评估,了解其供应链结构…

Leetcode-06-Z字形变换

将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P A H N A P L S I I G Y I R 之后,你的输出需要从左往右…

【Leetcode】1793. 好子数组的最大分数

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接🔗 给你一个整数数组 n u m s nums nums (下标从 0 0 0 开始)和一个整数 k k k 。 一个子数组 ( i , j ) (i, j) (i,j) 的 分数 定义为 m i n ( n u m s …

ROS2从入门到精通0-3:VSCode 搭建 ROS2 工程环境

目录 0 专栏介绍1 Ubuntu下安装VSCode1.1 基本安装1.2 将VSCode添加到侧边栏 2 VSCode集成相关插件3 VSCode运行ROS2环境步骤3.1 安装编译依赖项3.2 创建工作空间和源码空间3.3 启动VSCode与配置 4 测试工程环境4.1 C版本4.2 Python版本 0 专栏介绍 本专栏旨在通过对ROS2的系统…

一、初识 web3

瑾以此系列文章,献给那些出于好奇并且想要学习这方面知识的开发者们 在多数时间里,我们对 web3 的理解是非常模糊的 就好比提及什么是 web1 以及 web2,相关概念的解释是: 1. 从 Web3 的开始 Web3,也被称为Web3.0&…

idea error java:compilation failed:internal java compiler error

idea中编译运行maven项目报错如下 idea error java:compilation failed:internal java compiler error 尝试如下操作 注意:jdk8 需要设置4个地方 1.首先打开File->Project Structure中的Project,将SDK和language level都设置一致,如下…

大语言模型无代码构建知识图谱+视频链接

之前通过系列文章介绍了如何利用HugggingFists系统无代码构建知识图谱,这次给出视频,方便大家更直观的了解如何操作。视频链接如下: 《玩转数据之利用LLM构建知识图谱》 文章链接: 《大语言模型无代码构建知识图谱(1)--提示工程准…

基于Java的考研专业课程管理系统(Vue.js+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 考研高校模块2.3 高校教师管理模块2.4 考研专业模块2.5 考研政策模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 考研高校表3.2.2 高校教师表3.2.3 考研专业表3.2.4 考研政策表 四、系统展示五、核…

2024届 C++ 刷题 笔试强训 Day 03

选择题 01 以下程序的输出结果是&#xff08;&#xff09; #include <stdio.h> void main() {char a[10] {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, *p;int i;i 8;p a i;printf("%s\n", p - 3); }A 6 B 6789 C ‘6’ D 789 题目解析&#xff1a; 题目中定义了一个…

js改变页面上输入框的值

方案一&#xff08;大众方案包含vue和原生js的输入框&#xff09; // 填写输入框内容&#xff0c;并且赋值给输入框 function fillInput(input, value) {input.value value;input.dispatchEvent(new Event(input, {bubbles: true,cancelable: true,composed: true}));// 所以…