什么是 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. 【Azure 事件中心】使用Apache Flink 连接 Event Hubs 出错 Kafka error: No resolvable bootstrap urls

    问题描述 参考Github上 Event Hub的示例代码(Using Apache Flink with Event Hubs for Apache Kafka Ecosystems : https ...

  2. 【Azure 应用服务】添加自定义域时,Domain ownership 验证无法通过 

    问题描述 在Azure App Service添加自定义域名时,遇见了Domain ownership 验证无法通过的问题? 问题解决 因为DNS中配置App Service默认域名和自定义域名的CN ...

  3. 【Azure Developer】使用 Azure Python 查看 Azure 所有的 Alert rule

    问题描述 在Azure Alert 门户中,可以列举出所有Azure资源的Alert rule信息,如下图: 如果像通过Python SDK来获取所有的Alert Rule,有什么可以参考的代码吗? ...

  4. 如何使用 perf 分析 splice 中 pipe 的容量变化

    如何使用 perf 分析 splice 中 pipe 的容量变化 这个文章为了填上一篇文章的坑的,跟踪内核函数本来是准备使用 ebpf 的,但是涉及到了低内核版本,只能使用 kprobe 了. 恰好, ...

  5. Java 多态性的使用

    1 package com.bytezreo.duotai3; 2 3 /*** 4 * 5 * @Description 练习多态性的使用 6 * @author Bytezero·zhenglei ...

  6. 如何将应用一键部署至多个环境?丨Walrus教程

    在 Walrus 平台上,运维团队在资源定义(Resource Definition)中声明提供的资源类型,通过设置匹配规则,将不同的资源部署模板应用到不同类型的环境.项目等.与此同时,研发人员无需关 ...

  7. GoLand打开后Project消失

    一直用的好好的Goland,突然不能用了,左边栏Project"消失"了. 如下: 解决方法 遇到上面问题,一般情况是GoLand的cache问题,这个时候要将GoLand清理一下 ...

  8. zookeeper源码(10)node增删改查及监听

    本文将从leader处理器入手,详细分析node的增删改查流程及监听器原理. 回顾数据读写流程 leader ZookeeperServer.processPacket封装Request并提交给业务处 ...

  9. matlab修改读取mat文件后的变量名

    代码如下: %% str1=load('CH1.mat'); val_names = fieldnames(str1); % 获取结构体后那个未知的变量名 data1 = getfield(str1, ...

  10. Java/Kotlin Double保留小数点后几位

    下面以保留2位小数,且按照四舍五入规则的例子 方法 1.BigDecimal.setScale() 此方法得到的还是个double数值 double one = 5.864; BigDecimal t ...