C#(读作“SeeSharp”)是一种新式编程语言,不仅面向对象,还类型安全。 开发人员利用 C# 能够生成在 .NET 生 态系统中运行的多种安全可靠的应用程序。 C# 源于 C 语言系列,C、C++、Java 和 JavaScript 程序员很快就可以 上手使用。 C# 是面向对象的、面向组件的编程语言。 C# 提供了语言构造来直接支持这些概念,让 C# 成为一种非常自然的语言,可用于创建和使用软件组件。 自诞生之日起,C# 就添加了支持新工作负载和新兴软件设计实践的功能。 多项 C# 功能有助于创建可靠且持久的应用程序。 垃圾回收自动回收不可访问的未用对象所占用的内存。 可以为 null 的类型可防范不引用已分配对象的变量。 异常处理提供了一种结构化且可扩展的方法来进行错误检测和恢复。 Lambda 表达式支持函数编程技术。 语言集成查询 (LINQ) 语法创建一个公共模式,用于处理来自任何源 的数据。 异步操作语言支持提供用于构建分布式系统的语法。 C# 有统一类型系统。所有 C# 类型(包括 int 和 double 等基元类型)均继承自一个根 object 类型。 所有类型共用一组通用运算。 任何类型的值都可以一致地 进行存储、传输和处理。 此外,C# 还支持用户定义的引用类型和值类型。 C# 允许动态分配轻型结构的对象和内嵌存储。 C# 支持泛型方法和类型,因此增强了类型安全性和性能。 C# 可提供迭代器,使集合类的实现者可以定 义客户端代码的自定义行为。 C# 强调版本控制,以确保程序和库以兼容方式随时间推移而变化。 C# 设计中受版本控制加*强直接影响的方面 包括:单独的 virtual 和 override 修饰符,关于方法重载决策的规则,以及对显式接口成员声明的支持。
C# 程序在 .NET 上运行,而 .NET 是名为公共语言运行时 (CLR) 的虚执行系统和一组类库。 CLR 是 Microsoft 对公共语言基础结构 (CLI) 国际标准的实现。 CLI 是创建执行和开发环境的基础,语言和库可以在其中无缝地协同工 作。 用 C# 编写的源代码被编译成符合 CLI 规范的中间语言 (Common Intermediate Language,CIL)。 CIL 代码和资源(如位图和字符串)存储在扩展名通常 为 .dll 的程序集中。 程序集包含一个介绍程序集的类型、版本和区域性的清单。 执行 C# 程序时,程序集将加载到 CLR。 CLR 会直接执行实时 (JIT) 编译,将 CIL 代码转换成本机指令。 CLR 可提供 其他与自动垃圾回收、异常处理和资源管理相关的服务。 CLR 执行的代码有时称为“托管代码”(而不是“非托管代码”),被编译成面向特定平台的本机语言。 语言互操作性是 .NET 的一项重要功能。 C# 编译器生成的 IL 代码符合公共类型规范 (CTS)。 通过 C# 生成的 CIL 代码可以与通过 .NET 版本的 F#、Visual Basic、C++ 或其他 20 多种与 CTS 兼容的任何语言所生成的代码进行交互。 一个程序集可能包含多个用不同 .NET 语言编写的模块,且类型可以相互引用,就像是用同一种语言编写的 一样。 除了运行时服务之外,.NET 还包含大量库。 这些库支持多种不同的工作负载。 它们已整理到命名空间中,这些命 名空间提供各种实用功能,包括文件输入输出、字符串控制、XML 分析、Web 应用程序框架和 Windows 窗体控 件。 典型的 C# 应用程序广泛使用 .NET 类库来处理常见的“管道”零碎工作。
.NET应用程序
1、使用.NET兼容语言编写代码
2、把代码编译为CIL,存储在程序集中
3、在执行代码时(如果是可执行文件就自动运行),用JIT编码器将代码编译为本机代码
4、在托管的CL环境下运行本机代码,以及其他应用程序或进程
官网下载安装
https://visualstudio.microsoft.com/zh-hans/?rr=https://www.microsoft.com/zh-cn/
C# 中的关键组织结构概念包括程序、命名空间、类型、成员和程序集 。 程序声明类型,而类型则包含成员,并 被整理到命名空间中。 类型示例包括类、结构和接口。 成员示例包括字段、方法、属性和事件。 编译完的 C# 程 序实际上会打包到程序集中。程序集的文件扩展名通常为 .exe 或 .dll ,具体视其分别实现的是应用程序还是 库_***而定。
namespace声明
class声明
Main方法:C#程序的入口
控制台程序
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
// Output text to the screen.
Console.WriteLine("The first app in Beginning C# and .NET!");
Console.ReadKey();
}
}
}
wpf程序
新建wpf项目-》添加控件-》双击添加的控件编写C#代码-》运行
MainWindow可以添加控件