C#(基本语法)

数据类型

C#是一种强类型语言,变量必须声明类型。基本数据类型包括整型(int、long)、浮点型(float、double)、布尔型(bool)、字符型(char)和字符串型(string)。引用类型包括类、接口、数组等。

csharp 复制代码
int age = 25;
double price = 19.99;
bool isActive = true;
char grade = 'A';
string name = "John";

变量与常量

变量用于存储数据,使用前需声明类型。常量使用const关键字定义,初始化后不可更改。

csharp 复制代码
int counter = 10;
const double PI = 3.14159;

运算符

C#支持算术运算符(+、-、*、/)、比较运算符(==、!=、>、<)、逻辑运算符(&&、||、!)和赋值运算符(=、+=、-=)。

csharp 复制代码
int sum = 10 + 5;
bool isEqual = (sum == 15);
bool result = (true && false);

控制流语句

条件语句包括if-elseswitch,循环语句包括forwhiledo-while

csharp 复制代码
if (age >= 18) 
{
    Console.WriteLine("Adult");
}

for (int i = 0; i < 5; i++) 
{
    Console.WriteLine(i);
}

while (counter > 0) 
{
    counter--;
}

方法

方法是包含一系列语句的代码块,通过return返回值(无返回值用void)。参数可传递值或引用(refout)。

csharp 复制代码
int Add(int a, int b) 
{
    return a + b;
}

void PrintMessage(string message) 
{
    Console.WriteLine(message);
}

类和对象

类是面向对象的基础,包含字段、属性、方法和构造函数。对象是类的实例。

csharp 复制代码
class Person 
{
    public string Name { get; set; }
    public int Age { get; set; }

    public Person(string name, int age) 
    {
        Name = name;
        Age = age;
    }

    public void Introduce() 
    {
        Console.WriteLine($"Name: {Name}, Age: {Age}");
    }
}

Person person = new Person("Alice", 30);
person.Introduce();

异常处理

使用try-catch-finally块处理运行时错误,确保程序健壮性。

csharp 复制代码
try 
{
    int result = 10 / int.Parse("0");
}
catch (DivideByZeroException ex) 
{
    Console.WriteLine("Cannot divide by zero.");
}
finally 
{
    Console.WriteLine("Cleanup code here.");
}

集合类型

常见集合包括数组(Array)、列表(List)、字典(Dictionary)等,用于管理数据组。

csharp 复制代码
int[] numbers = { 1, 2, 3 };
List<string> names = new List<string> { "Alice", "Bob" };
Dictionary<int, string> employees = new Dictionary<int, string>();

命名空间

命名空间用于组织代码,避免命名冲突。通过using指令引入。

csharp 复制代码
using System;
namespace MyApp 
{
    class Program { ... }
}
相关推荐
CoderIsArt13 小时前
C#中UI 线程与 Dispatcher
开发语言·ui·c#
呆呆敲代码的小Y1 天前
【游戏开发】Lua 与 C# 交互原理解析
c#·lua·交互·热更新·lua与c#交互·游戏热更新
用户298698530141 天前
PDF 转纯文本(TXT)免费攻略:轻松提取文字内容
人工智能·后端·c#
呆呆敲代码的小Y1 天前
【游戏开发】C# 中的迭代器
java·开发语言·c#·迭代器
格林威2 天前
C# 相机Burst模式图像采集:使用相机内存配合OpenCvSharp和Halcon实现短时间的高速采集的方法
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
J总裁的小芒果2 天前
参数过多-分批传参
c#
典典分享指南2 天前
短视频分镜提示词:让 AI 出片的产品口播
java·c#·bash·composer·symfony
Z5998178412 天前
c#软件开发学习笔记--WPF(Canvas、数据绑定、MVVM模式、值转换器)
笔记·学习·c#
淡海水2 天前
05-03-栈队列-PriorityQueue-TElement-TPriority-NET6优先队列语义与四叉堆实现
服务器·前端·c#·priorityqueue·clr·telement