找到 34423 篇文章 关于编程

解释 .NET 中的自定义值类型

Akshay Khot
更新于 2021年5月19日 08:15:02

1K+ 浏览量

值类型的变量直接包含值。当您将一个值类型变量赋值给另一个变量时,每个变量都与内存中的不同存储位置相关联。因此,更改一个值类型变量的值不会影响第二个变量中的值。类似地,当您将值类型的实例传递给方法时,编译器会将与参数关联的内存复制到与参数关联的新位置。对参数的任何更改都不会影响原始值。由于为值类型复制了内存,因此它们应该很小(通常小于 16 字节)。所有… 阅读更多

StringBuilder 类在 C# 中的作用是什么?

Akshay Khot
更新于 2021年5月19日 08:11:13

380 浏览量

在 C# 中,字符串是不可变的。这意味着一旦创建字符串,就不能修改它。对字符串的任何修改都会返回一个包含修改的新字符串,同时保持原始字符串不变。string word = "aaabbbccc"; string newWord = word.Replace('b', 'd'); Console.WriteLine(word); // 输出 aaabbbccc Console.WriteLine(newWord); // 输出 aaadddcccStringBuilder 类表示一个类似字符串的对象,可以对其进行修改,即字符的可变字符串。它的实现方式不同于字符串类型,字符串类型表示字符的不可变字符串。由于修改字符串对象会创建副本,因此重复修改字符串对象可能会导致性能下降。对于少量重复,它可以忽略不计,但是… 阅读更多

解释 .NET 框架中反射的工作原理

Akshay Khot
更新于 2021年5月19日 08:10:23

311 浏览量

C# 程序编译成包含已编译 C# 代码以及运行时元数据和其他资源的 DLL 程序集。C# 提供了一个反射 API,允许我们在运行时检查元数据和已编译代码。使用反射,可以−访问程序集元数据以获取程序集内的所有类型获取类型及其成员(方法、属性等)的列表在运行时动态调用类型成员。仅通过提供名称来实例化对象构建程序集在传统的程序中,当您将源代码编译为机器代码时,编译器会删除关于代码的所有元数据。但是,… 阅读更多

C# 中的一些重要命名空间是什么?请简要描述每个命名空间

Akshay Khot
更新于 2021年5月19日 08:07:39

436 浏览量

.NET 包含许多命名空间,如果您包含第三方库,则命名空间会更多。但是,有一些命名空间您会一遍又一遍地使用。以下列出的 20 个命名空间将帮助您解决 80% 的常见、重复出现的编程问题。System包含最基本的类型。这些包括常用的类、结构、枚举、事件、接口等。System.Text包含表示 ASCII 和 Unicode 字符编码的类。用于将字符块转换为字节块和从字节块转换为字符块的类。System.Text.RegularExpressions提供正则表达式功能。System.Linq提供支持使用语言集成查询 (LINQ) 的查询的类和接口。System.XML.Linq包含 LINQ to XML 的类。LINQ to XML… 阅读更多

.NET 中的事件模式如何工作?

Akshay Khot
更新于 2021年5月19日 08:05:42

475 浏览量

事件是一种使用委托的简化模式。在 C# 中,所有委托都具有多播功能,即委托的实例不仅可以表示单个方法,还可以表示方法列表。例如−示例delegate int Transformer(int x); static void Main(){    Transformer perform = x =>{       int result = x * x;       Console.WriteLine(result);       return result;    };    perform += x =>{       int result = x * x * x;       Console.WriteLine(result);       return result;    };    perform(2); // 输出… 阅读更多

解释 C# 中 const 和 readonly 关键字之间的区别

Akshay Khot
更新于 2021年5月19日 07:50:10

684 浏览量

在 C# 中,const 和 readonly 关键字都用于定义不可变的值,这些值一旦声明就不能修改。但是,两者之间存在一些重要区别。constconst 修饰符声明在编译时已知且不会更改的常量值,即它们是不可变的。在 C# 中,您只能将内置类型标记为 const。用户定义类型(如类、结构等)不能为 const。此外,类成员类型(如方法、属性或事件)不能标记为常量。您必须在声明期间初始化常量。class Period{    public const int hours = 12;… 阅读更多

C# 提供了哪些运算符来处理空值?

Akshay Khot
更新于 2021年5月19日 07:49:08

344 浏览量

C# 有以下三个运算符来处理空值−空合并运算符 (??)允许您在变量不为空时获取变量的值,或者指定可使用的默认值。它替换了 C# 中的以下表达式−string resultOne = value != null ? value : "default_value";为以下表达式−string resultTwo = value ?? "default_value";以下是一个说明此示例的示例。示例using System; class Program{    static void Main(){       string input = null;       string choice = input ?? "default_choice";       Console.WriteLine(choice); // default_choice       string… 阅读更多

C# 中的接口如何工作?

Akshay Khot
更新于 2021年5月19日 07:47:44

476 浏览量

接口定义了一个将由类或结构实现的契约。它可以包含方法、属性、事件和索引器。接口类似于类,但它不保存任何数据,只指定它可以执行的行为(或更准确地说,实现它的类可以执行的行为)。一个类可以实现一个或多个接口。要实现接口成员,类应该有一个与接口成员具有相同方法定义的公共成员,即相同名称和签名。例如,IComparer 是在 System.Collections 命名空间中定义的接口,它定义了… 阅读更多

ref、out 和 in 关键字在 C# 中的用法是什么?

Akshay Khot
更新于 2021年5月19日 07:41:00

456 浏览量

在 C# 中,大多数方法可以有零个或多个参数,这些参数定义必须提供给方法的数据。任何调用方法的代码都必须将数据(称为参数)传递给方法。方法将其输入声明为参数,并且调用代码以参数的形式提供它们。例如,考虑以下方法和后续方法调用。static void Greet(string greeting){    Console.WriteLine(greeting); } … Greet("Hello");在上面的示例中,greeting 是 Greet() 方法的参数,而 "Hello" 是传递给方法的参数。当您调用方法并传递… 阅读更多

简要概述 C# 和 .NET 生态系统

Akshay Khot
更新于 2021年5月19日 07:40:00

浏览量 546

C# 是一种面向对象、类型安全且通用的编程语言,专注于提高程序员的生产力。它试图通过表达性、简洁性和对性能的关注来实现这种生产力。它可以在不同的平台上运行,例如 Windows、Mac 和 Linux。类型安全C# 是一种静态类型语言。这意味着类型在编译程序时进行验证。这消除了程序运行之前的大量错误。垃圾回收自动内存管理是 C# 的一个基本特性。它有一个垃圾回收器,与程序一起运行,回收未使用的内存。这免除了程序员... 阅读更多

广告
© . All rights reserved.