C#学习记录

1.简介


    面向对象语言,由微软开发,专为公共语言基础结构(CLI)设计的。
    CLI由可执行代码和运行时环境组成,允许在不同的计算机平台和体系结构上使用各种高级语言。
    优点:
        现代且通用、面向对象、面向组件、结构化语言、产生高效程序、可在多种计算机平台上编译、.Net框架的一部分
    编译功能强大:
        构想十分接近传统高级语言C和C++,是面向对象的编程语言,但是和java十分类似,有以下重要功能:
        布尔条件、自动垃圾回收、标准库、组件版本、属性和事件、委托和事件管理、易于使用的泛型、索引器、条件编译、简单的多线程、LINQ和Lambda表达式、集成Windows
    总结:面向对象编程语言,和java很像,构想十分接近C和C++,自动垃圾回收,支持Lambda表达式    


2.环境


    前面提到C#是.NET的一部分,且用于编写.NET应用程序,在了解运行C#程序工具之前,先了解下C#和.NET之间的关系
    .NET框架:
        是一个创新的平台,可编写windows应用程序、web应用程序、web服务
        .Net 框架应用程序是多平台的应用程序。框架的设计方式使它适用于下列各种语言:C#、C++、Visual Basic、Jscript、COBOL 等等。所有这些语言可以访问框架,彼此之间也可以互相交互。
        .Net 框架由一个巨大的代码库组成,用于 C# 等客户端语言。下面列出一些 .Net 框架的组件:公共语言运行库、.Net框架类库、公共语言规范、通用类型系统、元数据和组件、Windows窗体、
        ASP.NET 和 ASP.NET AJAX、ADO.NET、Windows工作流基础、Windows显示基础、Windows通信基础、LINQ
    C#的集成开发环境
        visual studio:微软的旗舰IDE(集成开发环境),提供全面的开发工具集,支持C#以及其他多种编程语言
        visual studion code:轻量级的代码编辑器,虽然不如Visual Studio功能全面,但非常灵活,支持C#开发,并且可以通过插件扩展功能
        .NET SDK:包含编译器、库和工具,用于.NET应用程序的开发,C#是.NET的主要编程语言之一
        ReSharper:Visual Studio扩展,提供代码质量分析、快速修复以及生产力提升工具
        Roslyn:.NET Compiler Platform("Roslyn")提供编译器API,允许开发者编写代码分析器和代码生成器
        MSBuild:微软的构建系统,用于编译和打包C#项目
        NuGet:包管理器,用于.NET项目,可以轻松地管理和安装第三方库
        Entity Framework:一个对象关系映射器(ORM),用于简化数据库访问和操作
        PowerShell:微软的命令行shell和脚本环境,也可用于自动化C#项目中的某些任务
        Azure DevOps:提供项目管理和持续集成/持续部署(CI/CD)服务,支持C#项目的开发和部署。
        Visual Studio Team Services (VSTS):现在称为Azure DevOps Services,提供版本控制、项目管理和团队协作工具。
        C# Interactive:一个交互式C#环境,允许开发者在Visual Studio或Visual Studio Code中直接编写和运行C#代码片段
    在linux和macOS也可编写C#程序
        虽然 .NET 框架是运行在 Windows 操作系统上,但是也有一些运行于其它操作系统上的版本可供选择。Mono 是 .NET 框架的一个开源版本,它包含了一个 C# 编译器,且可运行于多种操作系统上,比如各种版本的 Linux 和 Mac OS。如需了解更多详情,请访问 Go Mono。
        Mono 的目的不仅仅是跨平台地运行微软 .NET 应用程序,而且也为 Linux 开发者提供了更好的开发工具。Mono 可运行在多种操作系统上,包括 Android、BSD、iOS、Linux、OS X、Windows、Solaris 和 UNIX。
    总结:C#是.NET一部分,通常使用visual studon即可进行开发,在linux和macOS上也可使用Mono进行开发C#


3.AI编程助手


    Fitten Code 是由非十大模型驱动的AI编程助手,可自动生成代码,调试bug,也可对话聊天,解决编程问题。免费且支持多种语言:pythoc,C++,javascript,java等
    visual studio内使用Fitten Code: todo 需实操,实际操作后补充文档


4.程序结构


    一个C#程序主要包括以下几方面:引用其他命名空间、命名空间声明、一个class、Class方法、Class属性、一个Main方法、语句和表达式、注释
    C#文件后缀为.cs
    test.cs文件代码:todo 需实操,实际操作后补充文档
    细节注意:C#大小写敏感、所有语句和表达式必须以分号(;)结尾、程序的执行从Main方法开始、与java不同的是,文件名可以不同于类的名称
    编译执行C#程序 todo 需实操,实际操作后补充文档
        使用visual studion.Net来编译和执行C#程序,如果运行失败,则可能需要安装.Net SDK
        使用命令行来编译C#程序,前提是需要安装.Net SDK并配置好环境变量
            创建文件helloworld.cs,添加上述代码
            使用csc helloworld.cs 进行编译
            编译成功后生成helloworld.exe可执行文件


5.基本语法


    矩形类实现:todo 需实操
    using关键字,任何C#程序的第一条语句都是 using System;using关键字用于在程序中包含命名空间,一个程序可以包含多个using语句
    class关键字:声明一个类
    C#中的注释:多行注释使用/*开始,使用*/终止;单行注释使用//表示;
    成员变量:类的属性或数据成员,用于存储数据。
    成员函数:一系列执行指定任务的语句。成员函数在类内部声明。
    实例化类:使用 new 关键字进行实例化 
    标识符:用来识别类、变量、函数或任何用户定义的项目。C#中,类的命名必须遵循如下基本规则:
        标识符必须以字母、下划线或 @ 开头,后面可以跟一系列的字母、数字( 0 - 9 )、下划线( _ )、@。
        标识符中的第一个字符不能是数字。
        标识符必须不包含任何嵌入的空格或符号,比如 ? - +! # % ^ & * ( ) [ ] { } . ; : " ' / \。
        标识符不能是 C# 关键字。除非它们有一个 @ 前缀。 例如,@if 是有效的标识符,但 if 不是,因为 if 是关键字。
        标识符必须区分大小写。大写字母和小写字母被认为是不同的字母。
        不能与C#的类库名称相同。
    关键字:C#编译器预定义的保留字。关键字不能用作标识符,在关键字前加@前缀可作为标识符。有些关键字在代码中有特殊的意义,如get和set被称为上下文关键字。
        保留关键字:abstract、as、base、catch、char、checked、const、default、delegate、event、explicit、extern、fixed、goto、implicit、internal、null、operator、out、params、readonly、ref、sealed、sizeof、stackalloc、struct、typeof、unit、unchecked、unsafe、using、virtual、volatile等    
        上下文关键字:add、alias、into、join、let、orderby、partial、remove、selected、set等
        完整关键字可查看网页:https://www.runoob.com/csharp/csharp-basic-syntax.html
    顶级语句:todo 需实操
        C#9.0版本,引入了顶级语句的概念,一种新的编程范式,允许开发者在文件的顶层直接编写语句,而无需将其封装在方法或类中。
        特点:无需类或方法;文件作为入口点;自动Main方法;支持局部函数;更好的可读性;适用于小型项目;与现有代码兼容。
        注意事项:
            文件限制:顶级语句只能在一个源文件中使用。如果在一个项目中有多个使用顶级语句的文件,会导致编译错误
            程序入口:如果使用顶级语句,则该文件会隐式地包含 Main 方法,并且该文件将成为程序的入口点
            作用域限制:顶级语句中的代码共享一个全局作用域,这意味着可以在顶级语句中定义的变量和方法可以在整个文件中访问
        优点:简化代码结构、加快开发速度,特别适合简单程序和脚本    

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值