C#静态类与非静态类
1、静态类
静态类有几个重要的特点:
1)无法实例化:由于静态类不能被实例化,因此它不会占用对象内存。
2)静态成员:静态类只能包含静态成员(静态方法、静态属性、静态事件等)。
3)全局访问点:静态类可以作为全局访问点,提供对一组静态方法的访问。
4)无法继承:静态类不能被继承。由于它们不能被实例化,所以继承它们没有意义。
静态类使用关键字static 修饰,它的成员也要使用static 修饰,如下代码:
//自定义一个静态类
static class StaticClass
{public static string Name { get; set; } = "小王";public static int Add(int a, int b){return a + b;}public static int Multiply(int a, int b){return a * b;}
}
调用:
int a = StaticClass.Add(10, 20);int b = StaticClass.Multiply(2, 4);Console.WriteLine(a);Console.WriteLine(b);Console.WriteLine(StaticClass.Name );
输出:
30
8
小王
上面的代码中Add方法是一个静态方法,使用类名.方法名 这样的方式去调用,Name 是一个静态属性,使用类名.属性名这样的方式去调用。
2、非静态类(使用的比较多)
1)可以实例化:你可以使用 new 关键字来创建非静态类的对象。
2)实例成员:非静态类可以包含实例成员(实例方法、实例属性、实例事件等),这些成员属于类的每个实例。
3)继承:非静态类可以被其他类继承,实现代码的重用和扩展。
这个非静态类也是一个引用类型,参考代码如下:
class NotStaticClass{public string Name { get; set; } = "小李";public int Add(int a, int b){return a + b;}public int Multiply(int a, int b){return a * b;}}
调用:
NotStaticClass notStaticClass = new NotStaticClass();notStaticClass.Add(10, 20);notStaticClass.Multiply(2, 4);Console.WriteLine(a);Console.WriteLine(b);Console.WriteLine(notStaticClass.Name );
输出:
30
8
小李
我们可以看到对于非静态类的调用都是使用new关键字,new这个类的对象出来,然后使用这个对象名.方法名 去调用方法,对象名.属性去获取属性。
总结
在C#编程中一般没有特别要求必须使用静态或者非静态类,一般使用非常频繁的类可以写成静态类。
相关文章:
C#静态类与非静态类
1、静态类 静态类有几个重要的特点: 1)无法实例化:由于静态类不能被实例化,因此它不会占用对象内存。 2)静态成员:静态类只能包含静态成员(静态方法、静态属性、静态事件等)。 3&am…...
亚信安全:《2024云安全技术发展白皮书》
标签 云计算 安全威胁 云安全技术 网络攻击 数据保护 一句话总结 《云安全技术发展白皮书》全面分析了云计算安全威胁的演进,探讨了云安全技术的发展历程、当前应用和未来趋势,强调了构建全面云安全防护体系的重要性。 摘要 云安全威胁演进ÿ…...
GuLi商城-商品服务-API-品牌管理-云存储开通与使用
这里学习下阿里云对象存储 地址:对象存储 OSS_云存储服务_企业数据管理_存储-阿里云 登录支付宝账号,找到了我以前开通的阿里云对象存储 熟悉下API 文档中心 简介_对象存储(OSS)-阿里云帮助中心 我们将用这种方式上传阿里云OSS...
git 命令行初始化并上传项目
XXXX 为项目名称 1. 初始化 cd D:\XXXX git init git remote add origin http://账号192.168.1.231:8088/r/XXXX.git 2. 拉取项目,做本地合并 git pull origin master git fetch origin git merge origin/master 3. 添加注释,上传 git add . git c…...
Spring框架Mvc(2)
1.传递数组 代码示例 结果 2.集合参数存储并进行存储类似集合类 代码示例 postman进行测试 ,测试结果 3.用Json来对其进行数据的传递 (1)Json是一个经常使用的用来表示对象的字符串 (2)Json字符串在字符串和对象…...
Python学习笔记29:进阶篇(十八)常见标准库使用之质量控制中的数据清洗
前言 本文是根据python官方教程中标准库模块的介绍,自己查询资料并整理,编写代码示例做出的学习笔记。 根据模块知识,一次讲解单个或者多个模块的内容。 教程链接:https://docs.python.org/zh-cn/3/tutorial/index.html 质量控制…...
【LLM】一、利用ollama本地部署大模型
目录 前言 一、Ollama 简介 1、什么是Ollama 2、特点: 二、Windows部署 1.下载 2.安装 3.测试安装 4.模型部署: 5.注意 三、 Docker部署 1.docker安装 2.ollama镜像拉取 3.ollama运行容器 4.模型部署: 5.注意: 总结 前言…...
Java毕业设计 基于SSM vue新生报到系统小程序 微信小程序
Java毕业设计 基于SSM vue新生报到系统小程序 微信小程序 SSM 新生报到系统小程序 功能介绍 学生 登录 注册 忘记密码 首页 学校公告 录取信息 录取详情 师资力量 教师详情 收藏 评论 用户信息修改 宿舍安排 签到信息 在线缴费 教室分配 我的收藏管理 我要发贴 我的发贴 管理…...
玩转云服务:Oracle Cloud甲骨文永久免费云服务器注册及配置指南
上一篇,带大家分享了:如何薅一台腾讯云服务器。 不过,只有一个月免费额度,到期后需要付费使用。 相对而言,海外云厂商更加慷慨一些,比如微软Azure、甲骨文、亚马逊AWS等。 甲骨文2019年9月就推出了永久免…...
Zabbix——宏
目录 宏的类型 常用宏 定义和使用宏 宏的优先级 使用宏的示例 在 Zabbix 中,宏(Macros)是一个非常强大的功能,允许你在监控配置中使用动态变量。宏可以在各种配置项中使用,例如触发器、动作、通知、图形和模板等。…...
Unity 简单载具路线 Waypoint 导航
前言 在游戏开发和导航系统中,"waypoint" 是指路径中的一个特定位置或点。它通常用于定义一个物体或角色在场景中移动的目标位置或路径的一部分。通过一系列的 waypoints,可以指定复杂的移动路径和行为。以下是一些 waypoint 的具体用途&…...
科普文:微服务之服务网格Service Mesh
一、ServiceMesh概念 背景 随着业务的发展,传统单体应用的问题越来越严重: 单体应用代码库庞大,不易于理解和修改持续部署困难,由于单体应用各组件间依赖性强,只要其中任何一个组件发生更改,将重新部署整…...
第四十九章 解决 IRIS 中的 SOAP 问题 - 发送消息时出现问题
文章目录 第四十九章 解决 IRIS 中的 SOAP 问题 - 发送消息时出现问题 第四十九章 解决 IRIS 中的 SOAP 问题 - 发送消息时出现问题 如果在向 IRIS Web 服务或客户端发送或接收 SOAP 消息时遇到问题,请考虑以下常见场景列表: SOAP 消息可能包含极长的字…...
STM32-HAL-FATFS(文件系统)(没做完,stm32f103zet6(有大佬的可以在评论区说一下次板子为什么挂载失败了))
1STM32Cube配置 1-1配置时钟 1-2配置调试端口 1-3配置uart 1-4配置SDIO(注意参数)(其中他的初始化的异常函数给注释,SD卡文件写了) 配置了还要打开中断和DMA可在我的其他文章中看一样的 1-5配置FatFs (只改了图选中…...
线性代数基础概念:矩阵
目录 线性代数基础概念:矩阵 1. 矩阵的定义 2. 矩阵的运算 3. 矩阵的特殊类型 4. 矩阵的秩 5. 矩阵的初等变换 6. 矩阵的特征值与特征向量 7. 矩阵的应用 8. 矩阵总结 总结 线性代数基础概念:矩阵 矩阵是线性代数中的另一个重要概念࿰…...
【优化论】约束优化算法
约束优化算法是一类专门处理目标函数在存在约束条件下求解最优解的方法。为了更好地理解约束优化算法,我们需要了解一些核心概念和基本方法。 约束优化的核心概念 可行域(Feasible Region): 比喻:想象你在一个园艺场…...
7寸微型FPV无人机技术详解
对于7寸微型FPV(First Person View,第一人称视角)无人机技术的详解,可以从以下几个方面进行介绍: 一、定义与基本概念 FPV无人机,全称为“第一人称视角无人机”,它利用安装在无人机上的摄像头…...
大数据面试题之Presto[Trino](2)
目录 描述Presto中的Connector是什么? Presto如何实现数据源的插件化? 如何在单机上安装Presto? 描述在集群环境中部署Presto的步骤。 如何为Presto配置JVM参数? 如何优化Presto的配置以提高性能? Presto的日…...
STM32和DHT11使用显示温湿度度(代码理解)+单总线协议
基于STM32CT,利用DHT11采集温湿度数据,在OLED上显示。一定要阅读DHT11数据手册。 1、 DHT11温湿度传感器 引脚说明 1、VDD 供电3.3~5.5V DC 2、DATA 串行数据,单总线 3、NC 空脚 4、GND 接地,电源负极 硬件电路 微…...
EVM-MLIR:以MLIR编写的EVM
1. 引言 EVM_MLIR: 以MLIR编写的EVM。 开源代码实现见: https://github.com/lambdaclass/evm_mlir(Rust) 为使用MLIR和LLVM,将EVM-bytecode,转换为,machine-bytecode。LambdaClass团队在2周…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
