南昌网站开发培训学校,wordpress调用页面,网站备案规则,wordpress 时间设置上一篇#xff1a; C##xff0c;入门教程(23)——数据类型转换的一点基础知识https://blog.csdn.net/beijinghorn/article/details/124187182 工业软件首先要求高可靠性、高可维护性。
作为工业软件的开发者#xff0c;我们对语言重载的需求是#xff1a;“不可或缺”。 …上一篇 C#入门教程(23)——数据类型转换的一点基础知识https://blog.csdn.net/beijinghorn/article/details/124187182 工业软件首先要求高可靠性、高可维护性。
作为工业软件的开发者我们对语言重载的需求是“不可或缺”。
没有重载几乎就无法开展大规模的工业软件编程项目因而很难想象怎么用 Go 或 python 或者 javascript 编写高可靠性的应用程序。
而C# 的重载尤其优雅其中的索引器this重载、运算符重载是以科学计算为核心的工程项目中大量使用的程序技术。
索引器是一组get和set的访问器与属性类似。 1索引器不用分配内存来存储 2主要用来访问其他数据成员并为他们提供获取和设置的方法。 以下一段文字来自于
草原上唱山歌索引器的详细讲解C#https://blog.csdn.net/shanniuliqingming/article/details/123775693
索引器与属性很类似。索引器的创建与属性创建所使用的编程语言特性是一样的。索引器使属性被索引使用一个或多个参数引用的属性这些参数为某些值集合提供索引。
创建索引器的必备要素
1必须先创建索引器所需要的容器可以理解为数据的存放 2创建索引器需要使用this关键字 3索引器中必须包含get和set访问器在C# 7.0后可以使用表达式主体进行简化 4在使用表达式主体成员进行索引时必须额外的提供容器的修改接口因为表达式主体不包括set访问器。
索引器相当于一个方法支持多个或多种类型的参数与方法不同的是索引器没有独立的名称只能通过返回值的不同和参数的不同来区分不同的签名从而实现重载其返回值不能为void。索引器除了可以传入参数外还可以对其进行赋值。 创建索引器时其返回值为value关键字所使用的类型定义了返回值类型的同时也定义了其可接受的值类型。 总之我对索引器的理解就是是一个可以进行读写操作的自定义类中数据集合的接口。通过该接口简化或丰富了该自定义类中数据集合的操作方式。
索引器总结
1使用索引器可以类似于数组的方式为对象建立索引 2get取函数返回值set取函数分配值 3this代表当前类关键字用于定义索引器 4value关键字用于定义set索引器所赋予的值 5索引器不必根据整数值进行索引自行决定如何定义特定的查找机制 6索引器可以被重载 7索引器可以有多个形参例如对二维数组的访问。
请阅读下面 this 的定义
/// summary
/// 数独板Sudoku Board信息类
/// /summary
public class Board
{/// summary/// 数字总数(NM*M)/// /summarypublic int N { get; set; } 9;/// summary/// 小格子行列数/// /summarypublic int M { get; set; } 3;/// summary/// 所有节点保存数字/// /summarypublic int[,] nodes { get; set; } null;public Board(int n){N n;M (int)Math.Sqrt(N);nodes new int[N, N];Clear();}/// summary/// 提取i,j节点的数字/// /summary/// param namei/param/// param namej/param/// returns/returnspublic int this[int i, int j]{set{nodes[i, j] value;}get{return nodes[i, j];}}/// summary/// 清除重置/// /summarypublic void Clear(){for (int i 0; i N; i){for (int j 0; j N; j){nodes[i, j] 0;}}}
}
使用起来就非常舒服了。 Board x new Board(9);//获取第一个位置的数字
int firstNumber x[0,0]; ——————————————————————
POWER BY 315SOFT.COM TRUFFER.CN 下一篇
C#入门教程(25)——注释Comments你会吗看多图演示学真正注释。https://blog.csdn.net/beijinghorn/article/details/124681888