随笔分类 - c#
摘要:其他路径: CSDN: https://blog.csdn.net/wodehao0808 微信公众号:程序喵星人 更多资源和视频教程,QQ:1902686547 一、C# 理论1.1、简述 private、 protected、 public、 internal、protected interna
阅读全文
摘要:其他路径: CSDN: https://blog.csdn.net/wodehao0808 微信公众号:程序喵星人 更多资源和视频教程,QQ:1902686547 前言 本文章只是自己曾经面试时归纳的常见面试题,顺手贴在了知乎上,均属于C#基础知识,而且很多是7.0的语法特性,鉴于博主水平有限,可能
阅读全文
摘要:String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项。String.Format (String, Object[]) 将指定 String 中的格式项替换为指定
阅读全文
摘要:10.6.3 类库的客户应用程序 新项目命名为Ch10CardClient。添加一个对类库项目Ch10CardLib的引用。代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;...
阅读全文
摘要:10.6.2 编写类库 类和枚举都包含在一个类库项目 Ch10CardLib 中。这个项目将包含 4 个.cs 文件,Card.cs 包含Card类的定义,Deck.cs包含Deck类的定义,Suit.cs和Rank.cs文件包含枚举。 1. \Chapter10目录中创建一个新类库项目Ch10...
阅读全文
摘要:10.6 示例应用程序 为了解释前面使用的一些技术,下面开发一个类模块,以便在后续章节中使用。这个类模块包含两个类: Card——表示一张标准的扑克牌,包含梅花、方块、红心和黑桃,其顺序是从A到K。 Deck——表示一副完整的 52 张扑克牌,在扑克牌中可以按照位置访问各张牌,并可以...
阅读全文
摘要:10.5 部分方法定义 部分类也可以定义部分方法。部分方法在部分类中定义,但没有方法体,在另一个部分类中包含实现代码。在这两个部分类中,都要使用partial关键字。public partial class MyClass { partial void MyPartialMethod();...
阅读全文
摘要:10.4 部分类定义 如果所创建的类包含一种类型或其他类型的许多成员时,就很容易混淆,代码文件也比较长。这里可以采用前面章节介绍的一种方法,即给代码分组。在代码中定义区域,就可以折叠和展开各个代码区,使代码更便于阅读。例如,有一个类的定义如下:public class MyClass { #...
阅读全文
摘要:2. 用非公共的可访问性添加属性存取器 前面说过,如果实现带属性的接口,就必须实现匹配的get/set存取器。这并不是绝对正确的——如果在定义属性的接口中只包含set块,就可给类中的属性添加get块,反之亦然。但是,只有所添加的存取器的可访问修饰符比接口中定义的存取器的可访问修饰符更严格时,才能这...
阅读全文
摘要:10.3 接口的实现 在继续前,先讨论一下如何定义和实现接口。第9章介绍了接口定义的方式与类相似,使用的代码如下:interface IMyInterface { // Interface members.} 接口成员的定义与类成员的定义相似,但有几个重要的区别: 不允许使用访问...
阅读全文
摘要:10.2.3 嵌套的类型定义 除了在名称空间中定义类型之外,还可以在其他类中定义这些类。如果这么做,就可以在定义中使用各种访问修饰符,而不仅仅是public和internal,也可以使用new关键字隐藏继承于基类的类型定义。例如,下面的代码定义了MyClass,也定义了一个嵌套的类MyNeste...
阅读全文
摘要:10.2.2 调用重写或隐藏的基类方法 无论是重写成员还是隐藏成员,都可以在派生类的内部访问基类成员。这在许多情况下都是很有用的,例如: 要对派生类的用户隐藏继承的公共成员,但仍能在类中访问其功能。 要给继承的虚拟成员添加实现代码,而不是简单地用重写的新执行代码替换它。 为此,可以...
阅读全文
摘要:10.2 类成员的其他议题 下面该讨论一些比较高级的成员议题了。本节主要研究: 隐藏基类方法 调用重写或隐藏的基类方法 嵌套的类型定义10.2.1 隐藏基类方法 当从基类继承一个(非抽象的)成员时,也就继承了其实现代码。如果继承的成虽是虚拟的,就可以用override关键字重...
阅读全文
摘要:10.1.5 重构成员 在添加属性时有一项很方便的技术,可以从字段中生成属性在添加属性时有一项很方便的技术,可以从字段中生成属,下面是一个重构(refactoring)的示例,“重构”表示使用工具修改代码,而不是手工修改。为此,只需右击类图中的某个成员,或者在代码视图中右击某个成员即可。 例如,...
阅读全文
摘要:10.1.6 自动属性 属性是访问时象状态的首选方式,因为它们禁止外部代码实现对象内部的数据存储机制。属性还对内部数据的访问方式施加了更多的控制,本章代码在多处体现了这一点。但是,一般以非常标准的方式定义属性,即通过一个公共属性来直接访问一个私有成员。其代码非常类似于上一节的代码,这是VS重构工具...
阅读全文
摘要:10.1.3 定义属性 属性定义方式与字段类似,但包含的内容比多。如前所述,属性涉及的内容比字段多,是因为它们在修改状态前还可以执行一些额外的操作。实际上,它们可能并不修改状态。属性拥有两个类似于函数的块,一个块用于获取属性的值,另一个块用于设置属性的值。 这两个块也称为访问器,分别用get和s...
阅读全文
摘要:10.1.2 建立方法 方法使用标准函数格式、可访问性和可选的static修饰符来声明。例如class MyClass { public string GetString() { return "Here is a string."; }} 注意,如果使用了 stati...
阅读全文
摘要:第10章 定义类成员 本章内容: ● 如何定义类成员 ● 如何使用类图添加成员 ● 如何控制类成员的继承 ● 如何定义嵌套的类 ● 实现接口实明摆口 ● 如何使用部分类定义 ● 如何使用“调用层次结构”(Call Hierarchy)窗口 本章继续讨论在...
阅读全文
摘要:9.8 浅度和深度复制 从一个变量到另一个变量按值复制对象,而不是按引用复制对象(即以与结构相同的方式复制)可能非常复杂。因为一个对象可能包含许多其他对象的引用,例如,字段成员等,这将涉及许多繁琐的操作。把每个成员从一个对象复制到另一个对象中可能不会成功,因为其中一些成员可能是引用类型。 .N...
阅读全文
摘要:9.7 结构类型 第8章提到过结构和类非常相似,但结构是值类型,而类是引用类型。这意味着什么?最简明的方式是用一个示例来说明。代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text...
阅读全文

浙公网安备 33010602011771号