- 在 C# 中,结构体是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构体。结构体是用来代表一个记录。假设您想跟踪图书馆中书的动态。您可能想跟踪每本书的以下属性:TitleAuthorSubjectBook ID定义结构体为了定义一个结构体,您必须使用 struct 语句。struct 语句为程序定义了一个带有多个成员的新的数据类型。例如,您可... 在 C# 中,结构体是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构体。结构体是用来代表一个记录。假设您想跟踪图书馆中书的动态。您可能想跟踪每本书的以下属性:TitleAuthorSubjectBook ID定义结构体为了定义一个结构体,您必须使用 struct 语句。struct 语句为程序定义了一个带有多个成员的新的数据类型。例如,您可...
- C# 单问号 ? 与 双问号 ??? : 单问号用于对 int,double,bool 等无法直接赋值为 null 的数据类型进行 null 的赋值,意思是这个数据类型是 Nullable 类型的。int? i = 3;等同于:Nullable<int> i = new Nullable<int>(3);int i; //默认值0int? ii; //默认值null?? : 双问号 可用于判... C# 单问号 ? 与 双问号 ??? : 单问号用于对 int,double,bool 等无法直接赋值为 null 的数据类型进行 null 的赋值,意思是这个数据类型是 Nullable 类型的。int? i = 3;等同于:Nullable<int> i = new Nullable<int>(3);int i; //默认值0int? ii; //默认值null?? : 双问号 可用于判...
- 递归方法调用一个方法可以自我调用。这就是所谓的 递归。下面的实例使用递归函数计算一个数的阶乘:实例using System;namespace CalculatorApplication{ class NumberManipulator { public int factorial(int num) { /* 局部变量定义 */ ... 递归方法调用一个方法可以自我调用。这就是所谓的 递归。下面的实例使用递归函数计算一个数的阶乘:实例using System;namespace CalculatorApplication{ class NumberManipulator { public int factorial(int num) { /* 局部变量定义 */ ...
- 一个方法是把一些相关的语句组织在一起,用来执行一个任务的语句块。每一个 C# 程序至少有一个带有 Main 方法的类。要使用一个方法,您需要:定义方法调用方法C# 中定义方法当定义一个方法时,从根本上说是在声明它的结构的元素。在 C# 中,定义方法的语法如下:<Access Specifier> <Return Type> <Method Name>(Parameter List){ M... 一个方法是把一些相关的语句组织在一起,用来执行一个任务的语句块。每一个 C# 程序至少有一个带有 Main 方法的类。要使用一个方法,您需要:定义方法调用方法C# 中定义方法当定义一个方法时,从根本上说是在声明它的结构的元素。在 C# 中,定义方法的语法如下:<Access Specifier> <Return Type> <Method Name>(Parameter List){ M...
- 封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象。C# 封装根据具体的需要,设置使用者的访问权限,并通过 访问修饰符 来实现。一个 访问修饰符 定义了一个类成员的范围和可见性。C# 支持的访问修饰符如下所示:public... 封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象。C# 封装根据具体的需要,设置使用者的访问权限,并通过 访问修饰符 来实现。一个 访问修饰符 定义了一个类成员的范围和可见性。C# 支持的访问修饰符如下所示:public...
- 一个变量只不过是一个供程序操作的存储区的名字。在 C# 中,每个变量都有一个特定的类型,类型决定了变量的内存大小和布局。范围内的值可以存储在内存中,可以对变量进行一系列操作。我们已经讨论了各种数据类型。C# 中提供的基本的值类型大致可以分为以下几类:类型举例整数类型sbyte、byte、short、ushort、int、uint、long、ulong 和 char浮点型float 和 dou... 一个变量只不过是一个供程序操作的存储区的名字。在 C# 中,每个变量都有一个特定的类型,类型决定了变量的内存大小和布局。范围内的值可以存储在内存中,可以对变量进行一系列操作。我们已经讨论了各种数据类型。C# 中提供的基本的值类型大致可以分为以下几类:类型举例整数类型sbyte、byte、short、ushort、int、uint、long、ulong 和 char浮点型float 和 dou...
- 类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在 C# 中,类型铸造有两种形式:隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。显式类型转换 - 显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。下面的实例显示了一个显式的类型转换:实例... 类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在 C# 中,类型铸造有两种形式:隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。显式类型转换 - 显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。下面的实例显示了一个显式的类型转换:实例...
- 在 C# 中,变量分为以下几种类型:值类型(Value types)引用类型(Reference types)指针类型(Pointer types)值类型(Value types)值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的。值类型直接包含数据。比如 int、char、float,它们分别存储数字、字符、浮点数。当您声明一个 int 类型时,系统分配... 在 C# 中,变量分为以下几种类型:值类型(Value types)引用类型(Reference types)指针类型(Pointer types)值类型(Value types)值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的。值类型直接包含数据。比如 int、char、float,它们分别存储数字、字符、浮点数。当您声明一个 int 类型时,系统分配...
- C# 是一种面向对象的编程语言。在面向对象的程序设计方法中,程序由各种相互交互的对象组成。相同种类的对象通常具有相同的类型,或者说,是在相同的 class 中。例如,以 Rectangle(矩形)对象为例。它具有 length 和 width 属性。根据设计,它可能需要接受这些属性值、计算面积和显示细节。让我们来看看一个 Rectangle(矩形)类的实现,并借此讨论 C# 的基本语法:实例... C# 是一种面向对象的编程语言。在面向对象的程序设计方法中,程序由各种相互交互的对象组成。相同种类的对象通常具有相同的类型,或者说,是在相同的 class 中。例如,以 Rectangle(矩形)对象为例。它具有 length 和 width 属性。根据设计,它可能需要接受这些属性值、计算面积和显示细节。让我们来看看一个 Rectangle(矩形)类的实现,并借此讨论 C# 的基本语法:实例...
- C# Hello World 实例一个 C# 程序主要包括以下部分:命名空间声明(Namespace declaration)一个 classClass 方法Class 属性一个 Main 方法语句(Statements)& 表达式(Expressions)注释让我们看一个可以打印出 "Hello World" 的简单的代码:实例using System;namespace HelloWor... C# Hello World 实例一个 C# 程序主要包括以下部分:命名空间声明(Namespace declaration)一个 classClass 方法Class 属性一个 Main 方法语句(Statements)& 表达式(Expressions)注释让我们看一个可以打印出 "Hello World" 的简单的代码:实例using System;namespace HelloWor...
- 本节书摘来自清华大学出版社《C#编程入门与应用》一作者是李 鑫 祝惠娟。 本节书摘来自清华大学出版社《C#编程入门与应用》一作者是李 鑫 祝惠娟。
- 本文主要介绍了在 C# 中实现网页截图的几种技术及相关要点。涵盖了 PuppeteerSharp、Selenium 和 HtmlToImage 三种方式,分别阐述了它们的安装步骤及核心代码。同时,针对在 C# 中寻找 Windows 上 chrome.exe 路径这一问题,分析了未安装 Google Chrome 和已安装两种情况下的查找原因,并给出了相关参考链接 本文主要介绍了在 C# 中实现网页截图的几种技术及相关要点。涵盖了 PuppeteerSharp、Selenium 和 HtmlToImage 三种方式,分别阐述了它们的安装步骤及核心代码。同时,针对在 C# 中寻找 Windows 上 chrome.exe 路径这一问题,分析了未安装 Google Chrome 和已安装两种情况下的查找原因,并给出了相关参考链接
- 使用 C# 和 libxl 读取 Excel 文件中的图片并保存 介绍libxl 是一个用于操作 Excel 文件的高效 C/C++ 库,支持在 Windows 和 Linux 平台上处理 .xls 和 .xlsx 文件。使用 C# 调用 libxl,可以方便地实现解析 Excel 文件中的数据和对象(如图片)。 应用使用场景数据迁移:从旧版 Excel 抽取图像资料进行备份。报告生成:自... 使用 C# 和 libxl 读取 Excel 文件中的图片并保存 介绍libxl 是一个用于操作 Excel 文件的高效 C/C++ 库,支持在 Windows 和 Linux 平台上处理 .xls 和 .xlsx 文件。使用 C# 调用 libxl,可以方便地实现解析 Excel 文件中的数据和对象(如图片)。 应用使用场景数据迁移:从旧版 Excel 抽取图像资料进行备份。报告生成:自...
- 前些年随着技术的发展逐渐兴起“一次编码到处运行”、“国产化”的概念那么跨平台就是各大技术争相主推的能力之一。具备跨平台的能力同时也需要自动升级的能力,GeneralUpdate 随之应运而生。 前些年随着技术的发展逐渐兴起“一次编码到处运行”、“国产化”的概念那么跨平台就是各大技术争相主推的能力之一。具备跨平台的能力同时也需要自动升级的能力,GeneralUpdate 随之应运而生。
- 在 web.config 中使用一些特殊字符时,如果没有正确地进行转义,可能会导致配置解析错误或引发其他意外问题。本文将详细介绍 web.config 中需要转义的特殊字符及其转义实体,帮助开发者避免这些常见的配置错误。 在 web.config 中使用一些特殊字符时,如果没有正确地进行转义,可能会导致配置解析错误或引发其他意外问题。本文将详细介绍 web.config 中需要转义的特殊字符及其转义实体,帮助开发者避免这些常见的配置错误。
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考
2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本
2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签