当前位置: 首页 > ds >正文

c#基础010(程序结构)

文章目录

    • C#程序结构
    • 编译、执行C#程序
    • C#基本语法
      • using关键字
      • class关键字
        • 成员变量
        • 成员函数
      • C#关键字
      • 顶级语句
    • C#数据类型
      • 值类型
      • 引用类型
        • 对象(Object)类型

C#程序结构

一个c#程序主要包括一下部分:

  • 命名空间声明
  • 一个class
  • Class方法
  • Class属性
  • 一个Main方法
  • 语句&表达式
  • 注释

C#文件的后缀未.cs

示例:

using System;
namespace HelloWorldApplication
{class HelloWorld{static void Main(string[] args){/* 我的第一个 C# 程序*/Console.WriteLine("Hello World");Console.ReadKey();}}
}

结果:

在这里插入图片描述
程序的各个部分:

  • 程序的第一行 using System; - using 关键字用于在程序中包含 System 命名空间。 一个程序一般有多个 using 语句。
  • 下一行是 namespace 声明。一个 namespace 里包含了一系列的类。HelloWorldApplication 命名空间包含了类 HelloWorld
  • 下一行是 class 声明。类 HelloWorld 包含了程序使用的数据和方法声明。类一般包含多个方法。方法定义了类的行为。在这里,HelloWorld 类只有一个 Main 方法。
  • 下一行定义了 Main 方法,是所有 C# 程序的 入口点Main 方法说明当执行时 类将做什么动作。
  • 下一行 // 将会被编译器忽略,且它会在程序中添加额外的 注释

小贴士:

  • 对于标识符来说,c#是大小写敏感的。标识符:指变量名、函数名、属性名都属于标识符。
  • 所有的语句和表达式必须以分号;结尾。
  • 程序的执行从Main方法开始。
  • 与Java不同的是,文件名可以不同于类的名称。

编译、执行C#程序

使用工具:Visual Studio 2022

1.打开Visual Studio2022

2.如果你没有之前的项目,点击创建新项目;之前有项目直接点击打开项目或解决方案

在这里插入图片描述
在这里插入图片描述

  • 点击创建后,选择左上角的C#,选择控制台应用,点击下一步
    在这里插入图片描述
    在这里插入图片描述
  • 输入项目名称、选择保存的位置,输入解决方案名称(项目包含在解决方案文件夹中),点击下一步
    在这里插入图片描述
  • 小白建议勾选上不使用顶级语句,框架选择最新的长期支持版本,点击创建
    在这里插入图片描述
  • 运行c#代码
    在这里插入图片描述

C#基本语法

C#是一种面向对象的编程语言。在面向对象的设计方法中,程序由各种相互交互的对象组成。相同种类的对象通常具有相同的类型。

using关键字

在任何C#程序中的第一条语句都是:

using System;

using 关键字用于在程序中包含命名空间。一个程序可以包含多个 using 语句。

class关键字

class关键字用于声明一个类

成员变量

变量是类的属性或数据成员,用于存储数据

成员函数

函数是一系列执行指定任务的语句。类的成员函数是在类内声明的。

C#关键字

保留关键字
abstractasbaseboolbreakbytecase
catchcharcheckedclassconstcontinuedecimal
defaultdelegatedodoubleelseenumevent
explicitexternfalsefinallyfixedfloatfor
foreachgotoifimplicitinin (generic modifier)int
interfaceinternalislocklongnamespacenew
nullobjectoperatoroutout (generic modifier)overrideparams
privateprotectedpublicreadonlyrefreturnsbyte
sealedshortsizeofstackallocstaticstringstruct
switchthisthrowtruetrytypeofuint
ulonguncheckedunsafeushortusingvirtualvoid
volatilewhile
上下文关键字
addaliasascendingdescendingdynamicfromget
globalgroupintojoinletorderbypartial (type)
partial (method)removeselectset

顶级语句

特点:

  • 无需类或方法:顶级语句允许你直接在文件的顶层编写代码,无需定义类或方法。
  • 文件作为入口点:包含顶级语句的文件被视为程序的入口点,类似于C#之前的Main方法。
  • 自动Main方法:编译器会自动生成一个Main方法
  • 支持局部函数
  • 更好的可读性

示例:

传统C#代码(未使用顶级语句)

using System;namespace MyApp
{class Program{static void Main(string[] args){Console.WriteLine("Hello, World!");}}
}

使用顶级语句

using System;Console.WriteLine("Hello, World!");

小贴士:

  • **文件限制:**顶级语句只能在一个源文件中使用。如果在一个项目中有多个使用顶级语句的文件,会导致编译错误。
  • **程序入口:**如果使用顶级语句,则该文件会隐式地包含 Main 方法,并且该文件将成为程序的入口点。
  • **作用域限制:**顶级语句中的代码共享一个全局作用域,这意味着可以在顶级语句中定义的变量和方法可以在整个文件中访问。

C#数据类型

在C#中,变量分为一下几种类型:

  • 值类型
  • 引用类型
  • 指针类型

值类型

值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的。

类型描述范围默认值
bool布尔值True 或 FalseFalse
byte8 位无符号整数0 到 2550
char16 位 Unicode 字符U +0000 到 U +ffff‘\0’
decimal128 位精确的十进制值,28-29 有效位数(-7.9 x 1028 到 7.9 x 1028) / 100 到 280.0M
double64 位双精度浮点型(+/-)5.0 x 10-324 到 (+/-)1.7 x 103080.0D
float32 位单精度浮点型-3.4 x 1038 到 + 3.4 x 10380.0F
int32 位有符号整数类型-2,147,483,648 到 2,147,483,6470
long64 位有符号整数类型-9,223,372,036,854,775,808 到 9,223,372,036,854,775,8070L
sbyte8 位有符号整数类型-128 到 1270
short16 位有符号整数类型-32,768 到 32,7670
uint32 位无符号整数类型0 到 4,294,967,2950
ulong64 位无符号整数类型0 到 18,446,744,073,709,551,6150
ushort16 位无符号整数类型0 到 65,5350

引用类型

引用类型不包含存储在变量中的实际数据,但它们包含对变量的引用

内置引用类型:objectdynamicstring

对象(Object)类型

Object是C#通用类型系统中所有数据类型的终极基类。Object是System.Object的别名。所以Object类型可以被分配任何其他类型(值类型、引用类型等)

http://www.xdnf.cn/news/12462.html

相关文章:

  • Spring Boot论文翻译防丢失 From船长cap
  • 搜广推特征数据变更灰度为什么实现很困难
  • float、double 这类 浮点数 相比,DECIMAL 是另一种完全不同的数值类型
  • 【地图 - 问题】公司etm地图:聚合功能重复添加,导致图标重复添加,导致部分重复添加的图标无法清除
  • 计算机组成原理(计算篇)
  • AIGC赋能前端开发
  • 多进程与多线程:核心差异与实战选择
  • AIGC-SD3、控制
  • 在亚马逊选品时,可依托数据驱动的关键词分析体系
  • vue2.0高频面试题汇总--持续更新
  • 基于STM32的DS18B20温度远程监测LCD1602显示
  • Vue3.5 企业级管理系统实战(二十三):权限指令
  • 【快速预览经典深度学习模型:CNN、RNN、LSTM、Transformer、ViT全解析!】
  • 根据指定日期和cron表达式生成下一周期的执行时间
  • C++类二
  • 吞咽与营养并重:进行性核上性麻痹患者的饮食管理方案
  • 龙虎榜——20250605
  • ubuntu安装NVIDIA驱动没有网络
  • 【GESP真题解析】第 12 集 GESP 三级 2024 年 6 月编程题 1:移位
  • Spring Cloud 2025 正式发布,你的灾难要来了
  • 系统思考持续训练
  • 前端面试题之浏览器存储技术Cookie、LocalStorage、SessionStorage、indexDB
  • FEMFAT许可管理软件推荐
  • js 比较两个对象的值,不相等就push对象的key
  • 图像去雾数据集总汇
  • Python基于方差-协方差方法实现投资组合风险管理的VaR与ES模型项目实战
  • Qt/C++学习系列之QButtonGroup的简单使用
  • w10激活方法
  • Linux免杀方案汇总(C语言)
  • 【cmder】--- Windows 下 cmder 经典常用快捷键 显著提高效率