C# 介绍、应用领域、入门、语法、输出和注释详解
什么是 C#?
C#(发音为“C-Sharp”)是一种由 Microsoft 创建的面向对象的编程语言,运行在 .NET Framework 上。源于 C 家族,与流行的语言如 C++ 和 Java 相近。首个版本发布于 2002 年,而最新版本,C# 12,于 2023 年 11 月发布
C# 的应用领域
C# 广泛用于:
- 移动应用程序
- 桌面应用程序
- Web 应用程序
- Web 服务
- 网站
- 游戏
- 虚拟现实
- 数据库应用程序
- 以及更多!
为什么使用 C#?
C# 之所以受欢迎,原因如下:
- 是世界上最流行的编程语言之一
- 易学易用
- 拥有庞大的社区支持
- 面向对象的语言,提供清晰的结构并允许代码重用,降低开发成本
- 与
C、C++和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 System、namespace 和 class 的工作原理,请不要担心。只需将其视为几乎始终出现在程序中的内容
第7行: 在 C# 程序中总是出现的另一件事是
Main方法。其花括号{}内的任何代码都将被执行。您不必理解Main之前和之后的关键字。第9行:
Console是System命名空间的一个类,具有用于输出/打印文本的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# 介绍、应用领域、入门、语法、输出和注释详解的更多相关文章
- Solr系列五:solr搜索详解(solr搜索流程介绍、查询语法及解析器详解)
一.solr搜索流程介绍 1. 前面我们已经学习过Lucene搜索的流程,让我们再来回顾一下 流程说明: 首先获取用户输入的查询串,使用查询解析器QueryParser解析查询串生成查询对象Query ...
- JScript中的条件注释详解(转载自网络)
JScript中的条件注释详解-转载 这篇文章主要介绍了JScript中的条件注释详解,本文讲解了@cc_on.@if.@set.@_win32.@_win16.@_mac等条件注释语句及可用于条件编 ...
- 【转】Zabbix 3.0 从入门到精通(zabbix使用详解)
[转]Zabbix 3.0 从入门到精通(zabbix使用详解) 第1章 zabbix监控 1.1 为什么要监控 在需要的时刻,提前提醒我们服务器出问题了 当出问题之后,可以找到问题的根源 网站/ ...
- Farseer.net轻量级开源框架 入门篇:删除数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 查询数据详解 ...
- 《手把手教你》系列基础篇(九十一)-java+ selenium自动化测试-框架设计基础-Logback实现日志输出-下篇(详解教程)
1.简介 为了方便查看和归档:(1)不同包的日志可能要放到不同的文件中,如service层和dao层的日志:(2)不同日志级别:调试.信息.警告和错误等也要分文件输出.所以宏哥今天主要介绍和分享的是: ...
- Java web 入门知识 及HTTP协议详解
Java web 入门知识 及HTTP协议详解 WEB入门 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资 ...
- Linux命令 ls -l 输出内容含义详解
Linux命令 ls -l s输出内容含义详解 1. ls 只显示文件名或者文件目录 2. ls -l(这个参数是字母L的小写,不是数字1) 用来查看详细的文件资料 在某个目录下键入ls -l可 ...
- Farseer.net轻量级开源框架 入门篇:添加数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 分类逻辑层 下一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 ...
- Farseer.net轻量级开源框架 入门篇:修改数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 添加数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 ...
- Farseer.net轻量级开源框架 入门篇:查询数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 下一篇:Farseer.net轻量级开源框架 中级篇: Where条 ...
随机推荐
- matplotlib画图中x轴过于密集的解决办法
import matplotlib.ticker as ticker ax.xaxis.set_major_locator(ticker.MultipleLocator(base=10)) # tic ...
- Java新建一个子线程异步运行方法
如何在运行主方法的同时异步运行另一个方法,我是用来更新缓存: 1. 工具类 public class ThreadPoolUtils { private static final Logger LOG ...
- The OCaml Language Cheatsheets
The OCaml Language Cheatsheets OCaml v.4.08.1 Syntax Implementations are in .ml files, interfaces ar ...
- Autofac入门与替代ASP.NET Core、ABP依赖注入容器
目录 Autofac 的使用 1,简单的实践 2,注册组件 3,Lambda 注册组件 4,注册泛型 5,属性注入 6,解析服务 7,生命周期 8,实例作用域 9,Autofac 其它需要学习的知识 ...
- 「实操」适配 NebulaGraph 新版本与压测实践
本文来自邦盛科技-知识图谱团队-繁凡,本文以 NebulaGraph v3.1.0 为例. 前言 NebulaGraph v3.1 版本已经发布有一段时间了,但是我们的项目之前是基于 v2.6.1 版 ...
- Go语言的100个错误使用场景(55-60)|并发基础
目录 前言 8. 并发基础 8.1 混淆并发与并行的概念(#55) 8.2 认为并发总是更快(#56) 8.3 分不清何时使用互斥锁或 channel(#57) 8.4 不理解竞态问题(#58) 8. ...
- 解密Spring中的Bean实例化:推断构造方法(上)
在Spring中,一个bean需要通过实例化来获取一个对象,而实例化的过程涉及到构造方法的调用.本文将主要探讨简单的构造推断和实例化过程,让我们首先深入了解实例化的步骤. 实例化源码 protecte ...
- 3. JVM运行时数据区
1. 运行时数据区概述 前面的章节中已经将类的加载过程大致过程说清楚了,此时类已经加载到内存中,,后面就是运行时数据区的各个组件的工作了 由上图可以看出来, jvm将class字节码加载完成后,后面运 ...
- shell脚本的基本使用
本文是对菜鸟教程 shell编程原文 的总结并记录 如有侵权 联系删除 简介 说明: Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.这个应用程序提供了一个界面,用户通过这 ...
- 基于R语言的raster包读取遥感影像
本文介绍基于R语言中的raster包,读取单张或批量读取多张栅格图像,并对栅格图像数据加以基本处理的方法. 1 包的安装与导入 首先,我们需要配置好对应的R语言包:前面也提到,我们这里选择基于 ...