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#关键字
保留关键字 | ||||||
---|---|---|---|---|---|---|
abstract | as | base | bool | break | byte | case |
catch | char | checked | class | const | continue | decimal |
default | delegate | do | double | else | enum | event |
explicit | extern | false | finally | fixed | float | for |
foreach | goto | if | implicit | in | in (generic modifier) | int |
interface | internal | is | lock | long | namespace | new |
null | object | operator | out | out (generic modifier) | override | params |
private | protected | public | readonly | ref | return | sbyte |
sealed | short | sizeof | stackalloc | static | string | struct |
switch | this | throw | true | try | typeof | uint |
ulong | unchecked | unsafe | ushort | using | virtual | void |
volatile | while |
上下文关键字 | ||||||
---|---|---|---|---|---|---|
add | alias | ascending | descending | dynamic | from | get |
global | group | into | join | let | orderby | partial (type) |
partial (method) | remove | select | set |
顶级语句
特点:
- 无需类或方法:顶级语句允许你直接在文件的顶层编写代码,无需定义类或方法。
- 文件作为入口点:包含顶级语句的文件被视为程序的入口点,类似于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 或 False | False |
byte | 8 位无符号整数 | 0 到 255 | 0 |
char | 16 位 Unicode 字符 | U +0000 到 U +ffff | ‘\0’ |
decimal | 128 位精确的十进制值,28-29 有效位数 | (-7.9 x 1028 到 7.9 x 1028) / 100 到 28 | 0.0M |
double | 64 位双精度浮点型 | (+/-)5.0 x 10-324 到 (+/-)1.7 x 10308 | 0.0D |
float | 32 位单精度浮点型 | -3.4 x 1038 到 + 3.4 x 1038 | 0.0F |
int | 32 位有符号整数类型 | -2,147,483,648 到 2,147,483,647 | 0 |
long | 64 位有符号整数类型 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 | 0L |
sbyte | 8 位有符号整数类型 | -128 到 127 | 0 |
short | 16 位有符号整数类型 | -32,768 到 32,767 | 0 |
uint | 32 位无符号整数类型 | 0 到 4,294,967,295 | 0 |
ulong | 64 位无符号整数类型 | 0 到 18,446,744,073,709,551,615 | 0 |
ushort | 16 位无符号整数类型 | 0 到 65,535 | 0 |
引用类型
引用类型不包含存储在变量中的实际数据,但它们包含对变量的引用
内置引用类型:object
、dynamic
和string
对象(Object)类型
Object是C#通用类型系统中所有数据类型的终极基类。Object是System.Object的别名。所以Object类型可以被分配任何其他类型(值类型、引用类型等)