找到 2628 篇文章 适用于 C#

什么是 typeof、GetType 或 is 在 C# 中?

Nizamuddin Siddiqui
更新于 2020-08-08 08:39:46

1K+ 阅读量

Typeof() type 获取 Type 并返回参数的 Type。GetType() C# 中数组类的 GetType() 方法获取当前实例的 Type。is “is” 关键字用于检查对象是否可以转换为特定类型。操作的返回类型为布尔值。示例 实时演示类 Demo {} 类 Program {    static void Main() {       var demo = new Demo();       Console.WriteLine($"typeof { typeof(Demo)}");       Type tp = demo.GetType();       Console.WriteLine($"GetType {tp}");       if (demo is Demo) {         ... 阅读更多

如何在 C# 中实现单例设计模式?

Nizamuddin Siddiqui
更新于 2020-08-08 08:36:24

472 阅读量

单例模式属于创建型模式单例设计模式用于确保仅实例化特定类的单个对象。创建的单个实例负责协调整个应用程序中的操作。作为实现指南的一部分,我们需要确保仅存在类的单个实例,方法是将类的所有构造函数声明为私有。此外,为了控制单例访问,我们需要提供一个静态属性,该属性返回对象的单个实例。示例Sealed 确保类被继承,并且在派生类中限制对象实例化私有 ... 阅读更多

C# 中静态类和单例实例有什么区别?

Nizamuddin Siddiqui
更新于 2020-08-08 08:32:54

926 阅读量

静态Static 是一个关键字静态类只能包含静态成员静态对象存储在堆栈中。静态不能实现接口,也不能从其他类继承单例Singleton 是一个设计模式单例是一种对象创建模式,一个类只有一个实例单例可以实现接口,从其他类继承,并且符合 OOPS 概念单例对象可以作为引用传递单例支持对象处置单例对象存储在堆上单例对象可以克隆单例对象存储在堆中

什么是接口的隐式实现,以及何时在 C# 中使用接口的隐式实现?

Nizamuddin Siddiqui
更新于 2020-08-05 11:46:41

744 阅读量

C# 接口成员可以显式或隐式实现。隐式实现不包括在成员名称之前实现的接口的名称,因此编译器会推断这一点。这些成员将公开为公共成员,并且在对象被转换为具体类型时即可访问。方法的调用也没有区别。只需创建类的对象并调用它即可。如果在多个接口中声明了相同的​​方法名称,则无法使用隐式接口示例接口 ICar {    void displayCar(); } 接口 IBike {    void displayBike(); } 类 ShowRoom : ICar, IBike {   ... 阅读更多

如何在 c# 中使用 order by、group by?

Nizamuddin Siddiqui
更新于 2020-08-05 09:07:34

2K+ 阅读量

Order by 用于按升序或降序对数组进行排序GroupBy 运算符属于分组运算符类别。此运算符获取项目的扁平序列,根据特定键将该序列组织成组 (IGrouping),并返回序列组示例类 ElectronicGoods {    public int Id { get; set; }    public string Name { get; set; }    public string Category { get; set; }    public static List GetElectronicItems() {       return new List() {          new ElectronicGoods { Id = 1, Name = "Mobile", Category = ... 阅读更多

如何在 C# 中订阅事件,以及我们是否可以在 C# 中的一个事件中拥有多个订阅者?

Nizamuddin Siddiqui
更新于 2020-08-05 08:54:19

2K+ 阅读量

事件使类或对象能够在发生感兴趣的事情时通知其他类或对象。引发事件的类称为发布者,处理事件的类称为订阅者。在事件中,一个事件可以有多个订阅者。一个订阅者可以处理来自多个发布者的多个事件。没有订阅者的事件永远不会引发。发布者确定何时引发事件;订阅者确定对事件采取什么操作。示例类 Program {    static void Main() {       var video = new MP4() { Title = "Eminem" };     ... 阅读更多

什么是 #if DEBUG 以及如何在 C# 中使用它?

Nizamuddin Siddiqui
更新于 2020-08-05 08:49:08

8K+ 阅读量

在 Visual Studio 中,调试模式和发布模式是构建 .Net 项目的不同配置。选择调试模式以逐步调试其 .Net 项目,并选择发布模式以最终构建程序集文件 (.dll 或 .exe)。调试模式不会优化它生成的二进制文件,因为源代码和生成的指令之间的关系更加复杂。这允许准确设置断点,并允许程序员逐行单步执行代码。程序的调试配置使用完整的符号调试信息进行编译,这有助于调试器找出 ... 阅读更多

什么是 C# 中的 bin 和 obj 文件夹?

Nizamuddin Siddiqui
更新于 2020-08-05 08:46:35

1K+ 阅读量

每当我们编写 C# 代码并构建或运行解决方案时,它都会生成 2 个文件夹 - bin obj这些 bin 和 obj 包含编译后的代码为什么我们有 2 个文件夹?原因是编译过程分两个步骤进行编译链接在编译过程中,每个单独的文件都编译成单独的单元这些编译后的文件稍后将链接成一个单元,该单元可以是 dll 或 exe在编译阶段发生的所有内容都将添加到 obj 文件夹中最终的编译,即链接阶段将进入 bin 文件夹此 obj 文件夹用于条件编译或增量编译例如 - 我 ... 阅读更多

C# 中 IEnumerable 和 IQueryable 有什么区别?

Nizamuddin Siddiqui
更新于 2020-08-05 08:43:49

10K+ 阅读量

IEnumerable 存在于 System.Collections 命名空间中。IQueryable 存在于 System.Linq 命名空间中。IEnumerable 和 IQueryable 都是正向集合。IEnumerable 不支持延迟加载IQueryable 支持延迟加载从数据库查询数据,IEnumerable 在服务器端执行 select 查询,在客户端将数据加载到内存中,然后过滤数据。从数据库查询数据,IQueryable 使用所有过滤器在服务器端执行 select 查询。IEnumerable 扩展方法采用函数对象。IQueryable 扩展方法采用表达式对象,即表达式树。示例IEnumerabledbContext dc = new dbContext(); IEnumerable list = dc.SocialMedias.Where(p => p.Name.StartsWith("T")); list = list.Take(1); 为上述查询生成的 Sql 语句SELECT [t0].[ID], [t0].[Name] FROM ... 阅读更多

什么是 C# 中的二进制序列化和反序列化,以及如何在 C# 中实现二进制序列化?

Nizamuddin Siddiqui
更新于 2020-08-05 08:35:45

2K+ 阅读量

将对象转换为不可人读的二进制格式称为二进制序列化。将二进制格式转换回可人读的格式称为反序列化?为了在 C# 中实现二进制序列化,我们必须使用库 System.Runtime.Serialization.Formatters.Binary 程序集创建一个 BinaryFormatter 类的对象,并使用类中的序列化方法。示例将对象序列化为二进制 [Serializable] public class Demo {    public string ApplicationName { get; set; } = "Binary Serialize";    public int ApplicationId { get; set; } = 1001; } class Program {    static void Main()    {     ... 阅读更多

广告