C# 介绍、应用领域、入门、语法、输出和注释详解

2024-01-21

什么是 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 ,关注后即可获取最新文章推送

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 删除文件的最后 10 个字符

    我想删除文件的最后 10 个字符 说一个字符串 hello i am a c learner 是文件内的数据 我只是希望该文件是 hello i am a 文件的最后 10 个字符 即字符串 c learner 应在文件内消除 解决方案 将
  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • Java电子招投标采购系统源码-适合于招标代理、政府采购、企业采购、等业务的企业

    项目说明 随着公司的快速发展 企业人员和经营规模不断壮大 公司对内部招采管理的提升提出了更高的要求 在企业里建立一个公平 公开 公正的采购环境 最大限度控制采购成本至关重要 符合国家电子招投标法律法规及相关规范 以及审计监督要求 通过电子化
  • 软件测试|sqlalchemy relationship

    简介 SQLAlchemy是一个流行的Python ORM 对象关系映射 库 它允许我们以面向对象的方式管理数据库 在SQLAlchemy中 relationship 是一个重要的功能 用于建立表之间的关系 在本文中 我们将详细探讨 rel
  • 英国金融时报关注TRX登陆Mercado Bitcoin交易所:波场TRON强化南美洲布局,国际化进程持续加速

    近日 波场TRON网络原生代币TRX正式上线巴西最大的合规加密交易所Mercado Bitcoin 英国金融时报 Decrypt Blockworks等财经及加密行业权威媒体对该话题进行了报道 表示此次合作是波场TRON全球业务增长的有力证
  • 基于java的物业管理系统设计与实现

    基于java的物业管理系统设计与实现 I 引言 A 研究背景和动机 物业管理系统是指对物业进行管理和服务的系统 该系统需要具备对物业信息 人员信息 财务信息等进行管理的能力 基于Java的物业管理系统设计与实现的研究背景和动机主要体现在以下
  • 基于java的学生成绩管理系统设计与实现

    基于java的学生成绩管理系统设计与实现 I 引言 A 研究背景和动机 学生成绩管理系统是一个重要的教育工具 能够帮助学校管理学生的成绩和考试结果 以便更好地评估学生的教育水平和发展潜力 Java是一种广泛应用的编程语言 具有跨平台 高效
  • 基于java的web仓库管理系统设计与实现

    基于java的web仓库管理系统设计与实现 I 引言 A 研究背景和动机 基于Java的Web仓库管理系统是近年来快速发展的领域之一 它提供了丰富的功能 如数据存储 数据检索 数据分析和数据可视化等 本文将重点介绍基于Java的Web仓库管
  • 软件测试|web自动化测试神器playwright教程(三十八)

    简介 在我们使用selenium时 我们可以获取元素的属性 元素的文本值 以及输入框的内容等 作为比selenium更为强大的web自动化测试神器 playwright也可以实现对元素属性 文本值和输入框内容的抓取 并且实现比seleniu
  • 面对AI革新时,Soul App等社交应用的“出圈”解法是什么?

    2023年初 ChatGPT掀开海内外互联网 AI革新 的序幕 公众在惊讶于ChatGPT对于海量信息富有逻辑的整合归纳 帮助大家提升工作及学习效率之余 更为期待的莫过于有一天人工智能的 意识觉醒 十余年前由斯派克 琼斯 Spike Jon
  • 链上繁荣,合作不断,外媒热议波场 TRON 2023 年度成绩

    近日 权威外媒Theblock 美联社和Decrypt等就波场 TRON 2023大事件进行了年度盘点 报道指出 波场TRON网络在2023年取得了一系列的发展和合作 提升了其在Web3领域的地位 其中 波场TRON网络账户数量增加了 54
  • 电商数据api拼多多接口获取商品实时数据价格比价api代码演示案例

    拼多多商品详情接口 接口接入入口 它的主要功能是允许卖家从自己的系统中快速获取商品详细信息 通过这个接口 卖家可以提取到商品的各类数据 包括但不限于商品标题 价格 优惠价 收藏数 下单人数 月销售量等 此外 还可以获取到商品的SKU图 详情
  • Docker 安全必知:最佳实践、漏洞管理与监控策略

    容器安全是实施和管理像 Docker 这样的容器技术的关键方面 它包括一组实践 工具和技术 旨在保护容器化应用程序及其运行的基础架构 在本节中 我们将讨论一些关键的容器安全考虑因素 最佳实践和建议 容器隔离 隔离对于确保容器化环境的强大性和
  • 利用CHAT上传文件的操作

    问CHAT autox js ui 上传框 CHAT回复 上传文件的操作如果是在应用界面中的话 由于Android对于文件权限的限制 你可能不能直接模拟点击选择文件 一般来说有两种常见的解决方案 一种是使用intent来模拟发送一个文件路径
  • Docker CLI 实战指南:从基础命令到 Dockerfile 构建和 Docker Compose

    Docker CLI 命令行界面 是一个强大的工具 可让您与 Docker 容器 映像 卷和网络进行交互和管理 它为用户提供了广泛的命令 用于在其开发和生产工作流中创建 运行和管理 Docker 容器和其他 Docker 资源 安装 要开始
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 扬帆证券:成功投资的第一步:首次购买股票需要注意什么?

    关于第一次入市买股票的出资者来说 需求留意以下几点 1 股票的买卖规则 买卖时刻 早盘集合竞价9 15 9 25 尾盘集合竞价14 57 15 00 其中在9 15 9 20之间 出资者能够申报 也能够吊销申报 9 20 9 25之间 出资
  • 网络安全(黑客)自学

    1 网络安全是什么 网络安全可以基于攻击和防御视角来分类 我们经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 2 网络安全市场 一 是市场需求量高 二 则是发展相对成熟入门比较容易 3 所需要的
  • 扬帆证券揭秘股市术语:股票护盘是什么意思?

    股票护盘便是指对盘口进行维护 防止股价大幅跌落 一般当股价跌到一个相对低的位置时 主力会买入股票拉升股价 阻止股价继续跌落 主力护盘首要是因为股票继续跌落可能会跌破主力资金的成本线 主力为了防止呈现严重的亏损 一起为了后期能够轻松地抬升股价
  • 扬帆证券:掌握投资秘籍:如何看懂股票代码?

    股票代码不仅是差异各类基金的标志 也是投资者在买入股票时有必要输入的一项内容 不同股票代码代表着不同的股票 那么投资者怎么看懂股票代码 下面就由 扬帆证券 为大家来剖析 怎么看懂股票代码 股票代码是指用数字表明的股票不同类型意义的代码 代码
  • C++ 中 const 和 constexpr 关键字解析:常量、函数和指针

    很多 C 的初学者看到 const 这个关键字的第一反应都是一头雾水 主要是因为 const 可 以出现在很多的位置 以及后面加入的 constexpr 更是常常感到困惑 今天就为大家一一解释出现它们的含义和以及作用 const 关键字 c
  • C# 介绍、应用领域、入门、语法、输出和注释详解

    什么是 C C 发音为 C Sharp 是一种由 Microsoft 创建的面向对象的编程语言 运行在 NET Framework 上 源于 C 家族 与流行的语言如 C 和 Java 相近 首个版本发布于 2002 年 而最新版本 C 1