图解C#教程 第五版 第4章 类型、存储和变量 笔记

第4章 类型、存储和变量 笔记

4.1 C# 程序是一组类型声明

C程序是一组函数和数据类型,C++程序是一组函数和类,

而C#程序是一组类型声明,具有如下特征:

  • C# 程序或 DLL 的源代码是一组类型声明
  • 类型声明中必须有一个包含 Main 方法的类
  • 命名空间是一种将相关的类型声明分组并命名的方法。

代码示例:

// Declare a namespace.
namespace MyProgram
{// Declare a type.DeclarationOfTypeA;// Declare a type.DeclarationOfTypeB;// Declare a type.class C {static void Main(){// ...}}
}

4.2 类型是一种模板

4.3 实例化类型

C# 程序中,每个数据项都是某种类型的实例。

4.4 数据成员和函数成员

  • 数据成员:保存了类对象或整个类的相关数据。
  • 函数成员:执行代码,定义类型的行为。

4.5 预定义类型

C# 中,数值类型不具有布尔意义。

所有预定义类型都直接映射到底层的 .NET 类型,C# 的类型名称就是 .NET 类型的别名。

应尽量使用 C# 类型名称而不是 .NET 类型名称。

4.6 用户定义类型

C# 中可创建的 6 中用户类型:

  • 类(class)
  • 结构(struct)
  • 数组(array)
  • 枚举(enum)
  • 委托(delegate)
  • 接口(interface)

4.7 栈和堆

栈是一个内存数组,是一个后进先出的数据结构,存储的数据包括:某些类型变量的值、程序当前的执行环境、传递给方法的参数

堆是一块内存区域,用于存储某种类型的数据对象,可以任意顺序存入和移除。

4.8 值类型和引用类型

  • 值类型:需要一段单独的内存

    • 用于存储实际数据
  • 引用类型:需要两段内存

    • 第一段 存储实际数据,位于堆中
    • 第二段 是一个引用,指向堆中的存放位置

4.9 变量

4.9.1 变量声明

1.变量初始化语句

由一个等号 + 一个初始数值组成

int var2 = 17;

2.自动初始化

4.9.2 多变量声明

4.9.3 使用变量的值

4.10 静态类型和 dynamic 关键字

  • 静态类型:变量的类型在编译的时候确定并且不可更改
  • dynamic:动态类型,不会被编译器做类型检查

4.11 可空类型

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

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

相关文章

SpringBoot整合SSM

1. SSM整合步骤 今天带大家学习一下基于SpringBoot的SSM整合案例&#xff0c;话不多说&#xff0c;咱们开始&#xff0c;要实现SSM整合&#xff0c;有以下这么几步 导入依赖创建yml配置文件dao层静态页面测试类进行测试 1.1 导入依赖 <?xml version"1.0" enco…

多面体模型-学习笔记2

1&#xff09; 多面体模型被应用于解决程序变换问题&#xff0c;并有效地推动了程 序自动并行化等技术的发展。与传统的解决程序变换的方法相比&#xff0c;多面体模型 具有许多优势[5]。多面体模型提供了一种强大的抽象&#xff0c;将每个语句的动态语句执 行实例视作一个多面…

基于django+vue的健身房管理系统-vue

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.8数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat12开发软件&#xff1a;PyCharm 系统展示 会员信息管理 员工信息管理 会员卡类型管理 健身项目管理 会员卡管理 摘要 健身房管理…

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量&#xff1a;setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…

Spring AI中使用ChatMemory实现会话记忆功能

文章目录 1、需求2、ChatMemory中消息的存储位置3、实现步骤1、引入依赖2、配置Spring AI3、配置chatmemory4、java层传递conversaionId 4、验证5、完整代码6、参考文档 1、需求 我们知道大型语言模型 &#xff08;LLM&#xff09; 是无状态的&#xff0c;这就意味着他们不会保…

Java 高级泛型实战:8 个场景化编程技巧

文章目录 一、通配符高级应用&#xff1a;灵活处理类型关系二、泛型方法与类型推断三、泛型类的嵌套使用四、受限泛型与边界条件五、泛型与反射结合六、泛型在函数式接口中的应用七、类型擦除与桥接方法八、自定义泛型注解总结 在Java编程中&#xff0c;泛型不仅是类型安全的保…

[蓝桥杯 2024 国 B] 立定跳远

问题描述 在运动会上&#xff0c;小明从数轴的原点开始向正方向立定跳远。项目设置了 n 个检查点 a1,a2,...,an且 ai≥ai−1>0。小明必须先后跳跃到每个检查点上且只能跳跃到检查点上。同时&#xff0c;小明可以自行再增加 m 个检查点让自己跳得更轻松。在运动会前&#xf…

2025年全国I卷数学压轴题解答

第19题第3问: b b b 使得存在 t t t, 对于任意的 x x x, 5 cos ⁡ x − cos ⁡ ( 5 x t ) < b 5\cos x-\cos(5xt)<b 5cosx−cos(5xt)<b, 求 b b b 的最小值. 解: b b b 的最小值 b m i n min ⁡ t max ⁡ x g ( x , t ) b_{min}\min_{t} \max_{x} g(x,t) bmi…

wpf在image控件上快速显示内存图像

wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像&#xff08;比如分辨率3000*3000的图像&#xff09;的办法&#xff0c;尤其是想把内存中的裸数据&#xff08;只有图像的数据&#xff0c;不包…

解决网页导出PDF部分内容被遮挡问题

问题描述 以学习通为例&#xff0c;在使用CtrlP打印页面或截图时&#xff0c;固定侧边栏会遮挡部分内容&#xff0c;影响完整内容的获取。如下图所示&#xff1a; 解决办法 通过浏览器开发者工具临时移除固定侧边栏&#xff0c;具体步骤如下&#xff1a; 在目标页面右键点…

机器学习监督学习实战六:五种算法对新闻组英文文档进行文本分类(20类),词频统计和TF-IDF 转换特征提取方法理论和对比解析

本文主要介绍了20 Newsgroups数据集及其在文本分类任务中的应用。20 Newsgroups数据集包含约20,000篇新闻组文档&#xff0c;分为20个不同主题的新闻组&#xff0c;数据集被分为训练集和测试集。在数据预处理阶段&#xff0c;使用了CountVectorizer和TfidfVectorizer两种方法将…

易学探索助手-个人记录(十四)

项目背景 在大语言模型&#xff08;LLM&#xff09;完成指令微调&#xff08;SFT&#xff09;之后&#xff0c;虽然可以处理开放式问答任务&#xff0c;但在专业领域&#xff08;如《周易》&#xff09;仍面临知识更新滞后、事实性薄弱等问题。为此&#xff0c;本文介绍如何通…

从“人找政策”到“政策找人”:智能退税ERP数字化重构外贸生态

离境退税新政核心内容与外贸企业影响 &#xff08;一&#xff09;政策核心变化解析 退税商店网络扩容 新政明确鼓励在大型商圈、旅游景区、交通枢纽等境外旅客聚集地增设退税商店&#xff0c;并放宽备案条件至纳税信用M级企业。以上海为例&#xff0c;静安区计划新增1000家退…

Pandas 可视化集成:数据科学家的高效绘图指南

为什么选择 Pandas 进行数据可视化&#xff1f; 在数据科学和分析领域&#xff0c;可视化是理解数据、发现模式和传达见解的关键步骤。Python 生态系统提供了多种可视化工具&#xff0c;如 Matplotlib、Seaborn、Plotly 等&#xff0c;但 Pandas 内置的可视化功能因其与数据结…

曼昆《经济学原理》第九版 第十一章公共物品与公共资源

一、物品分类的基本框架 排他性&#xff1a;能否阻止他人使用该物品的特性竞争性&#xff1a;一个人使用是否减少他人使用的特性 根据这两个特性可将物品分为四类&#xff1a; 私人物品&#xff1a;既有排他性又有竞争性&#xff08;如冰淇淋、衣服&#xff09;公共物品&…

基于大模型预测原发性急性闭角型青光眼的技术方案研究大纲

目录 一、引言二、技术方案概述三、术前阶段(一)数据采集与处理(二)大模型预测(三)手术方案制定(四)麻醉方案确定(五)术前健康教育四、术中阶段(一)实时数据监测与输入(二)手术策略动态调整(三)并发症预警与处理(四)术中健康教育五、术后阶段(一)恢复监测与…

基于React 的 AntD 库进行前端开发过程中的问题汇总

背景 最近写了半个月的 React 前端&#xff0c;三年没写过 React 前端了&#xff0c;有些生疏了&#xff0c;汇总一下 基于React 前端的 antD 库编写过程中的低级问题吧。 PS 一下&#xff0c;半个月没有发布博客了&#xff0c;C站产品经理又悄默默地改了样式&#xff0c;博客…

Spring @Scheduled vs XXL-JOB vs DolphinScheduler vs Airflow:任务调度框架全景对比

引言 从单机定时任务到分布式工作流调度&#xff0c;不同场景需要选择匹配的调度框架。 本文对比 Spring Scheduled、XXL-JOB、DolphinScheduler &#xff08;海豚调度器&#xff09;和 Apache Airflow 的核心差异&#xff0c;助你避免过度设计或功能不足。 一、核心定位与适用…

springMVC-10验证及国际化

验证 概述 ● 概述 1. 对输入的数据(比如表单数据)&#xff0c;进行必要的验证&#xff0c;并给出相应的提示信息。 2. 对于验证表单数据&#xff0c;springMVC提供了很多实用的注解, 这些注解由JSR303 验证框架提供. ●JSR 303 验证框架 1. JSR 303 的含义 JSR&#xff0…

OpenCV 滑动条调整图像对比度和亮度

一、知识点 1、int createTrackbar(const String & trackbarname, const String & winname, int * value, int count, TrackbarCallback onChange 0, void * userdata 0); (1)、创建一个滑动条并将其附在指定窗口上。 (2)、参数说明: trackbarname: 创建的…