1.1 C#简介
1.1.1、C#语言优点:
1、C#是一种精确、简单、类型安全、面向对象的语言。
2、C#具有生成持久系统级组件的能力,提供COM+或其他技术平台支持以集成现有代码,提供垃圾回收和类型安全以实现应用程序可靠性,提供内部代码信任机制以保证应用程序的安全性。
3、C#利用.NET Framework的通用类型系统能够与其他程序设计语言交互操作。
4、C#支持MSMQ(微软消息队列服务)、COM+组件服务、WCF服务和.NET Framework。
5、C#语言允许自定义数据类型,以扩展元数据。
6、C#增强了开发者的效率,同时也致力于消除编程中可能导致严重结果的错误。
1.1.2、C#程序开发环境:
Visual Studio.NET是C#程序的主要集成开发环境。(软件的安装及使用教程,请自行百度及操作,这里就不再多做讲解了)
1.1.3、Visual Studio.NET中常用文件类型:
扩展名 | 名称 | 描述 |
.sln | Visual Studio.NET解决方案文件 | .sln文件为解决方案资源管理器提供显示管理文件的图形接口所需的信息。打开.sln文件,能快捷地打开整个项目地所有文件 |
.csproj | Visual C#项目文件 | 一个特殊地XML文档,主要用来控制项目的生成 |
.cs | Visual C#源代码文件 | 表示C#源程序文件、Windows窗体文件、Windows用户控件文件、类文件、接口文件等 |
.resx | 资源文件 | 包括一个Windows窗体、Web窗体等文件的资源信息 |
.aspx | Web窗体文件 | 表示Web窗体,由HTML标记、Web Server控件、脚本组成 |
.asmx | XML Web 服务文件 | 表示Web服务,它链接一个特定.cs文件,在这个.cs文件中包含供Internet调用的方法函数代码 |
1.2 C#程序入门
1.2.1一个简单的C#控制台应用程序
操作步骤:
(1)启动VS2019
(2)新建项目,选择控制台应用程序选项,创建项目。
(3)修改Program.cs文件重命名为Test1_1.cs。
(4)打开Test1_1.cs文件,在Main函数中输入一行代码( Console.WriteLine("Hello,this is my first C# Program!") )如下图所示
(5)点击启动,或者按F5运行程序后结果如下图:
(6)源程序代码如下
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; //Test1_1是自动生成的命名空间,通常与项目名称相同 namespace Test1 { //Program是自动生成的类名,通常与源程序文件名相同,此处为保持同源程序同步,按照系统提示,自动校一致了 class Test1_1 { //Main是控制台应用程序主函数的名字 static void Main(string[] args) { Console.WriteLine("Hello,this is my first C# Program!"); Console.ReadLine(); //后面加一个这个语句 } } }
1.2.2 一个简单的Win32应用程序
(1)启动VS2019
(2)新建项目,选择Windows窗体应用程序选项,创建项目。
(3)修改Form1.cs文件重命名为Test1_2.cs。
(4)然后选中Test1_2窗体,修改窗体属性,如下图所示:
(5)最后,在Test1_2.cs文件的源代码编辑窗口中添加以下源程序代码:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Test1_2 { public partial class Test1_2 : Form { public Test1_2() { InitializeComponent(); } private void Test1_2_Load(object sender, EventArgs e) { //设置本窗体的标题文字 this.Text = "我的第一个Windows程序"; //先创建标签库,再设置其显示文本和位置等属性 Label lblShow = new Label(); lblShow.Location = new Point(50, 60); lblShow.AutoSize = true; lblShow.Text = "本程序由Sheldon设计,欢迎您使用!"; //将标签空间添加到本窗体之中 this.Controls.Add(lblShow); } } }
(6)调试并运行,结果如下图所示:
1.2.3 一个简单的Win32应用程序
(1)启动VS2019
(2) 新建项目,选择Windows窗体应用程序选项,创建项目。
(3) 修改Form1.cs文件重命名为Test1_3.cs。
(4) 然后添加四个控件到Form1窗体控件上,具体参数如下:
控件 | 属性 | 属性设置 |
Form1 | Name | Test1_3 |
Text | 实例名1-3 | |
Label1 | Name | Label1 |
Text | 姓名: | |
TextBox1 | Name | txtName |
Text | ||
Button1 | Name | btnOK |
Text | 确定 | |
Label2 | Name | lblResult |
Text |
(5)最后在Test1_3文件的源代码编辑窗口中添加以下源程序代码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Test1_3 { public partial class Test1_3 : Form { public Test1_3() { InitializeComponent(); } private void btnOK_Click(object sender, EventArgs e) { //定义字符串变量 string strResult; //提取在文本框中录入的文字 strResult = txtName.Text + ",你好!欢迎使用本程序!"; //显示结果 lblResult.Text = strResult; } } }
(6)调试并运行程序,结果如下:
1.2.4 一个简单的Win32应用程序
(1)启动VS2019
(2) 新建项目,选择ASP.NET空网站选项,创建项目。
(3)添加一个Web窗体。
(4) 然后打开.cs源程序文件开始编辑输入
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace Test1_4 { public partial class Hello_World : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { this.Title = "实例 1-4"; Label lblShow = new Label(); lblShow.Text = "这是我的第一个Web版的C#程序"; lblShow.Font.Size = FontUnit.Point(16); this.Controls.Add(lblShow); } } }
(5) 然后打开运行,得到如下结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?