什么是 C#?

C#(发音为“C-Sharp”)是一种由 Microsoft 创建的面向对象的编程语言,运行在 .NET Framework 上。源于 C 家族,与流行的语言如 C++Java 相近。首个版本发布于 2002 年,而最新版本,C# 12,于 202311 月发布

C# 的应用领域

C# 广泛用于:

  • 移动应用程序
  • 桌面应用程序
  • Web 应用程序
  • Web 服务
  • 网站
  • 游戏
  • 虚拟现实
  • 数据库应用程序
  • 以及更多!

为什么使用 C#?

C# 之所以受欢迎,原因如下:

  • 是世界上最流行的编程语言之一
  • 易学易用
  • 拥有庞大的社区支持
  • 面向对象的语言,提供清晰的结构并允许代码重用,降低开发成本
  • CC++Java 接近,使程序员能够轻松切换

入门

无需具备任何先前的编程经验。让我们开始学习吧!

C# 语法

using System;

namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}

结果:

Hello World!

示例解释:

  • 第1行: using System 表示我们可以使用 System 命名空间中的类。

  • 第2行: 一个空白行。C# 会忽略空格。但是,多行使代码更易读。

  • 第3行: namespace 用于组织代码,它是类和其他命名空间的容器。

  • 第4行: 花括号 {} 标记代码块的开始和结束。

  • 第5行: class 是数据和方法的容器,为程序提供功能。在 C# 中运行的每一行代码都必须在一个类内部。在我们的例子中,我们将类命名为 Program

如果您不理解 using Systemnamespaceclass 的工作原理,请不要担心。只需将其视为几乎始终出现在程序中的内容

  • 第7行: 在 C# 程序中总是出现的另一件事是 Main 方法。其花括号 {} 内的任何代码都将被执行。您不必理解 Main 之前和之后的关键字。

  • 第9行: ConsoleSystem 命名空间的一个类,具有用于输出/打印文本的 WriteLine() 方法。在我们的示例中,它将输出 "Hello World!"。

如果省略 using System 行,您将不得不编写 System.Console.WriteLine() 来打印/输出文本。

注意:

  • 每个 C# 语句都以分号 ; 结束。
  • C# 区分大小写:“MyClass” 和 “myclass” 具有不同的含义。
  • 与 Java 不同,C# 文件的名称不必与类名匹配,但它们通常会(以便更好地组织)。保存文件时,请使用适当的名称并在文件名的末尾添加 ".cs"。要在计算机上运行上面的示例,请确保正确安装了 C#。输出应为:
Hello World!

C# 输出

要在 C# 中输出值或打印文本,可以使用 WriteLine() 方法:

示例

Console.WriteLine("Hello World!");

您可以添加尽可能多的 WriteLine() 方法。请注意,每个方法都会添加一个新行:

示例:

Console.WriteLine("Hello World!");
Console.WriteLine("I am Learning C#");
Console.WriteLine("It is awesome!");

您还可以输出数字并进行数学计算:

示例:

Console.WriteLine(3 + 3);

Write 方法:

还有一个 Write() 方法,它类似于 WriteLine()。唯一的区别是它不在输出末尾插入新行:

示例:

Console.Write("Hello World! ");
Console.Write("I will print on the same line.");

请注意,根据需要添加额外的空格(例如上面示例中的 “Hello World!” 后面),以提高可读性。

我们将仅使用 WriteLine(),因为它使代码的输出更易于阅读。

C# 注释

注释可用于解释 C# 代码,使其更易读。它还可用于在测试替代代码时防止执行。

单行注释:

单行注释以两个正斜杠 // 开头。// 和行末之间的任何文本都将被 C# 忽略(不会执行)。

此示例在一行代码之前使用了单行注释:

// This is a comment
Console.WriteLine("Hello World!");

此示例在代码行末尾使用了单行注释:

Console.WriteLine("Hello World!");  // This is a comment

多行注释:

多行注释以 /* 开始,以 */ 结束。/**/ 之间的任何文本都将被 C# 忽略。

此示例使用了多行注释(注释块)来解释代码:

/* The code below will print the words Hello World
to the screen, and it is amazing */
Console.WriteLine("Hello World!");

单行还是多行注释?

由您决定使用哪种。通常,我们使用 // 进行短注释,而使用 /* */ 进行长注释。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

C# 介绍、应用领域、入门、语法、输出和注释详解的更多相关文章

  1. Solr系列五:solr搜索详解(solr搜索流程介绍、查询语法及解析器详解)

    一.solr搜索流程介绍 1. 前面我们已经学习过Lucene搜索的流程,让我们再来回顾一下 流程说明: 首先获取用户输入的查询串,使用查询解析器QueryParser解析查询串生成查询对象Query ...

  2. JScript中的条件注释详解(转载自网络)

    JScript中的条件注释详解-转载 这篇文章主要介绍了JScript中的条件注释详解,本文讲解了@cc_on.@if.@set.@_win32.@_win16.@_mac等条件注释语句及可用于条件编 ...

  3. 【转】Zabbix 3.0 从入门到精通(zabbix使用详解)

    [转]Zabbix 3.0 从入门到精通(zabbix使用详解) 第1章 zabbix监控 1.1 为什么要监控 在需要的时刻,提前提醒我们服务器出问题了 当出问题之后,可以找到问题的根源   网站/ ...

  4. Farseer.net轻量级开源框架 入门篇:删除数据详解

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 查询数据详解 ...

  5. 《手把手教你》系列基础篇(九十一)-java+ selenium自动化测试-框架设计基础-Logback实现日志输出-下篇(详解教程)

    1.简介 为了方便查看和归档:(1)不同包的日志可能要放到不同的文件中,如service层和dao层的日志:(2)不同日志级别:调试.信息.警告和错误等也要分文件输出.所以宏哥今天主要介绍和分享的是: ...

  6. Java web 入门知识 及HTTP协议详解

     Java  web  入门知识 及HTTP协议详解 WEB入门 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资 ...

  7. Linux命令 ls -l 输出内容含义详解

    Linux命令 ls -l s输出内容含义详解   1. ls  只显示文件名或者文件目录 2. ls -l(这个参数是字母L的小写,不是数字1) 用来查看详细的文件资料 在某个目录下键入ls -l可 ...

  8. Farseer.net轻量级开源框架 入门篇:添加数据详解

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 分类逻辑层 下一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 ...

  9. Farseer.net轻量级开源框架 入门篇:修改数据详解

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 添加数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 ...

  10. Farseer.net轻量级开源框架 入门篇:查询数据详解

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 下一篇:Farseer.net轻量级开源框架 中级篇: Where条 ...

随机推荐

  1. CSP 2023 My Codes

    T1 小苹果 题目描述 小 Y 的桌子上放着 \(n\) 个苹果从左到右排成一列,编号为从 \(1\) 到 \(n\). 小苞是小 Y 的好朋友,每天她都会从中拿走一些苹果. 每天在拿的时候,小苞都是 ...

  2. MapStruct的一些常规用法

    每天坚持写一篇原创文章. 使用过MapStruct之后,再也没用过BeanCopy来复制对象了.确实是非常好用的工具库. MapStruct是一个代码生成器,简化了不同的Java Bean之间映射的处 ...

  3. Alertmanager钉钉告警

    一.部署alertmanager 1.1 创建目录 mkdir -p /deploy/app/alertmanager/config chmod -R 777 /deploy/app/alertman ...

  4. Java自定义注解校验枚举值类型参数

    项目开发中会经常使用到各种枚举值,枚举值一般都是固定的,不会随意改变其中的值. 比如性别分为男女,确定之后一般都不会轻易改变,这时候使用枚举值就非常地方便.很多 时候,在页面中传入的参数就是枚举值中的 ...

  5. 摆脱鼠标系列 - vscode - 跳转到下一个文件 Ctrl(右边) + PageDown 这个很常用

    为什么 摆脱鼠标系列 - vscode - 跳转到下一个文件 Ctrl(右边) + PageDown 这个很常用 右边Ctrl 就可以单手操控了 这个频率很高

  6. 【LLM】大模型落地-从理论到实践

    简述 按个人偏好和目标总结了学习目标和路径(可按需学习),后续将陆续整理出相应学习资料和资源. 学习目标 熟悉主流LLM(Llama, ChatGLM, Qwen)的技术架构和技术细节:有实际应用RA ...

  7. 风控规则引擎(一):Java 动态脚本

    风控规则引擎(一):Java 动态脚本 日常场景 共享单车会根据微信分或者芝麻分来判断是否交押金 汽车租赁公司也会根据微信分或者芝麻分来判断是否交押金 在一些外卖 APP 都会提供根据你的信用等级来发 ...

  8. dbvisualizer之编辑区中文乱码问题

    !在SQL Commander中,sql语句中如果有中文,显示是'口口口'. 解决办法如下: 在Tools->tool Properties->General->Appearance ...

  9. SpringBoot 支付宝付款接口类、支付异步回调函数模板

    1.付款接口类 1.1.引入Maven依赖 <dependency> <groupId>com.alipay.sdk</groupId> <artifactI ...

  10. 11_使用SDL播放WAV

    使用命令播放WAV 对于WAV文件来说,可以直接使用ffplay命令播放,而且不用像PCM那样增加额外的参数.因为WAV的文件头中已经包含了相关的音频参数信息. ffplay in.wav 接下来演示 ...