C#编程基础

devtools/2024/10/22 12:20:33/

C#(C Sharp)是一种由微软开发的现代化、面向对象的编程语言,广泛用于开发各种类型的应用程序,包括桌面应用、Web 应用、移动应用、游戏等。C# 是 .NET 框架和 .NET Core 的主要编程语言,具有高效的开发工具和丰富的类库支持。下面是 C# 编程基础的介绍。

1. 基本语法

  • 数据类型:C# 提供了多种数据类型,例如整型 (int)、浮点型 (floatdouble)、字符型 (char)、布尔型 (bool)、字符串 (string) 等。
int age = 25;
float height = 1.75f;
char initial = 'A';
bool isStudent = true;
string name = "John";
  • 变量:变量用于存储数据。可以通过 var 关键字声明自动推断类型的变量。
var score = 95;  // 自动推断为 int 类型
  • 常量:常量在定义后不能更改。
const double Pi = 3.14159;
  • 运算符:支持常见的算术运算符(+/%)、比较运算符(==!=><>=<=)和逻辑运算符(&&||!)。

2. 控制结构

  • 条件语句ifelse ifelse 用于条件判断。
if (age >= 18)
{Console.WriteLine("You are an adult.");
}
else
{Console.WriteLine("You are a minor.");
}
  • 循环:C# 支持 forwhiledo-while 循环。
for (int i = 0; i < 10; i++)
{Console.WriteLine(i);
}int j = 0;
while (j < 10)
{Console.WriteLine(j);j++;
}
  • switch 语句:用于根据变量的值执行不同的代码块。
int day = 3;
switch (day)
{case 1:Console.WriteLine("Monday");break;case 2:Console.WriteLine("Tuesday");break;case 3:Console.WriteLine("Wednesday");break;default:Console.WriteLine("Invalid day");break;
}

3. 面向对象编程(OOP)

C# 是一个面向对象的语言,支持类、对象、继承、多态、封装和抽象等 OOP 特性。

  • 类和对象:类是对象的模板。对象是类的实例。
public class Person
{public string Name { get; set; }public int Age { get; set; }public void Greet(){Console.WriteLine($"Hello, my name is {Name}.");}
}Person person = new Person { Name = "Alice", Age = 30 };
person.Greet();  // 输出:Hello, my name is Alice.
  • 继承:子类可以继承父类的属性和方法。
public class Student : Person
{public string School { get; set; }
}Student student = new Student { Name = "Bob", Age = 20, School = "XYZ University" };
  • 多态性:允许子类在父类中定义的方法有不同的实现。
public class Animal
{public virtual void Speak(){Console.WriteLine("Animal speaks.");}
}public class Dog : Animal
{public override void Speak(){Console.WriteLine("Dog barks.");}
}Animal animal = new Dog();
animal.Speak();  // 输出:Dog barks.

4. 异常处理

异常处理用于捕获和处理运行时错误,以确保程序的健壮性。

try
{int result = 10 / 0;
}
catch (DivideByZeroException ex)
{Console.WriteLine("Cannot divide by zero.");
}
finally
{Console.WriteLine("This will always execute.");
}

5. 集合和泛型

  • 数组:存储一组相同类型的数据。
int[] numbers = { 1, 2, 3, 4, 5 };
  • 列表(List):C# 提供 List<T> 泛型类用于动态数组。
List<int> numbers = new List<int> { 1, 2, 3 };
numbers.Add(4);  // 添加元素
  • 字典(Dictionary):用于存储键值对。
Dictionary<string, int> ages = new Dictionary<string, int>();
ages["Alice"] = 30;
ages["Bob"] = 25;

6. 委托和事件

  • 委托:委托是类型安全的函数指针,允许将方法作为参数传递。
public delegate void DisplayMessage(string message);public class Messenger
{public void ShowMessage(DisplayMessage display, string message){display(message);}
}Messenger messenger = new Messenger();
messenger.ShowMessage(Console.WriteLine, "Hello, Delegates!");
  • 事件:事件是基于委托的,常用于消息传递机制。
public class Button
{public event Action Click;public void OnClick(){Click?.Invoke();}
}Button button = new Button();
button.Click += () => Console.WriteLine("Button clicked!");
button.OnClick();

7. LINQ(Language Integrated Query)

LINQ 是 C# 提供的一种查询语法,允许对集合进行操作。

int[] numbers = { 1, 2, 3, 4, 5 };
var evenNumbers = from n in numberswhere n % 2 == 0select n;foreach (var num in evenNumbers)
{Console.WriteLine(num);  // 输出 2 和 4
}

8. 异步编程

C# 支持 async 和 await 关键字,用于编写异步代码,避免阻塞主线程。

public async Task<string> GetDataAsync()
{await Task.Delay(1000);  // 模拟异步操作return "Data received.";
}var data = await GetDataAsync();
Console.WriteLine(data);

总结

C# 是一种功能强大、语法简洁的编程语言,适用于多种应用程序的开发。掌握其基础概念如变量、控制结构、面向对象编程、集合操作等,将帮助你快速上手 C# 开发。


http://www.ppmy.cn/devtools/122141.html

相关文章

jmeter学习(2)变量

1&#xff09;用户定义的变量 路径&#xff1a;添加-》配置元件-》用户定义的变量 用户定义的变量是全局变量&#xff0c;可以跨线程组被调用&#xff0c;但在启动运行时获取一次值&#xff0c;在运行过程中不再动态获取值。 注意的是&#xff0c;如果在某个线程组定义了全…

常用小工具

常用工具 激活软件 https://wwyz.lanzoul.com/iRLEC22na96d 上机工具 卸载软件 https://wwyz.lanzoul.com/iauWZ2451y5c 解压缩软件(密码hpfo) https://wwyz.lanzoul.com/iFSAX0r6z0ed 密码:hpfo

AI量化策略 篇三:股票开源框架精选

文章目录 系列文章数据获取与处理Rockyzsu/stockbenitoro/stockholmfoolcage/fooltraderjmfernandes/robin_stockslemonhu/stock-knowledge-graphjealous/stockstatsmpquant/Asharemcdallas/wallstreetiam-abbas/Reddit-Stock-Trendsyahoo-finance/yahoo-financemlouielu/twsto…

【进程间通信(二)】【命名管道】

目录 1. 命名管道1.1 现象1.2 理解1.3 编码通信 2. 了解日志2.1 了解可变参数2.2 在通信中加入日志信息 【进程间通信&#xff08;一&#xff09;】【管道通信&#xff08;上&#xff09;】 【进程间通信&#xff08;一&#xff09;】【管道通信&#xff08;下&#xff09;】 这…

【12月IEEE出版* 镇江 】第九届清洁能源与发电技术国际学术会议(CEPGT 2024)

2024 9th International Conference on Clean Energy and Power Generation Technology (CEPGT 2024) 第九届清洁能源与发电技术国际学术会议&#xff08;CEPGT 2024&#xff09;&#xff0c;将于2024年12月27-29日在江苏镇江举办。高效清洁新能源的研究和应用是我国现阶段最主…

Polars 的 DataFrame

DataFrame 聚合 (Aggregation)属性 (Attributes)计算 (Compute)描述性 (Descriptive)导出 (Export)分组 (Groupby)选择 (Selection)操作 (Operations)杂项 (Miscellaneous)PlotStyle 聚合 (Aggregation) agg(): 对DataFrame中的列进行聚合操作。sum(): 计算列的总和。mean(): …

手机号码测吉凶接口

手机号码测吉凶接口通常指的是一种在线服务或API&#xff0c;它根据用户输入的手机号码&#xff0c;通过特定的算法或规则来判断该号码的吉凶。以下是对手机号码测吉凶接口的详细分析&#xff1a; 一、接口背景与原理 背景&#xff1a; 手机号码测吉凶在中国传统文化中具有一定…

Python项目文档生成常用工具对比

写在前面&#xff1a; 通过阅读本片文章&#xff0c;你将了解&#xff1a;主流的Python项目文档生成工具&#xff08;Sphinx&#xff0c;MkDocs&#xff0c;pydoc&#xff0c;Pdoc&#xff09;简介及对比&#xff0c;本文档不涉及相关工具的使用。 概述 近期&#xff0c;由于…