C#中索引器和数组的区别?

问题描述

字段和属性的异同?Array和ArrayList的区别?Virtual和abstract的区别?高人给详细讲解以下,谢谢!

解决方案

解决方案二:
Array在构造之后是固定大小的。ArrayList在构造之后仍然可以变化大小。Virtual表示虚函数,但可以有实现部分。abstract表示纯虚(抽象)函数,只定义了方法的签名,但不能包括实现。只能是这样:abstractfloatarea();

不但如此,一个定义了abstract的类则所有其它的类也必须定义成abstract的。举例来说:CShape是一个基类,这个类可能包括一个纯虚函数方法Area()。因为对于一个无特定类型的“形状”而言,它的面积是无法计算的!当然,也可以在CShape中不做基类。而定义一个类CTriangle,这是一个三角形类。对于这个类,可以有一很多公式。假如我们使用海伦公式。计算,则可以定义:virtualfloatarea(){returnxxxx;//这里是海伦公式的具体算法}

但你还可以实现一个直角三角形类(可能你的计算中用到大量的三角形的面积计算,而用于优化。当然虚函数本身就不够优化)。overridefloatarea(){returna*b;//计算公式}

大体意思说一下我的理解,具体语法不必追究。

时间: 2024-10-03 15:30:55

C#中索引器和数组的区别?的相关文章

Asp.Net中索引器的用法分析_实用技巧

本文实例分析了Asp.Net中索引器的用法.分享给大家供大家参考.具体如下: 索引器定义类似于属性,但其功能与属性并不相同.索引器提供一种特殊的方法编写get和set访问器.属性可以像访问字段一样访问对象的数据,索引器可以使用户像访问数组一样访问类成员. 一.索引器特性 1.get 访问器返回值.set 访问器分配值. 2.this 关键字用于定义索引器. 3.value 关键字用于定义由 set 索引器分配的值. 4.索引器不必根据整数值进行索引,由您决定如何定义特定的查找机制. 5.索引器可

谢谢-C#中索引器用字符串访问离散字段运行报错

问题描述 C#中索引器用字符串访问离散字段运行报错 源代码: namespace Discrete_field { class Program { static void Main(string[] args) { PhoneBook phonebook = new PhoneBook("王小波"); phonebook["Officephone"] = "11414441"; phonebook["MOBILEphone"]

求C#中索引器的用法

问题描述 这个功能一般用于哪一方面?什么时候才用到? 解决方案 解决方案二:索引器一般将对象应用做数组的结构来使用的.你NEW出来的对象就具备了[]的属性解决方案三:MSDN上讲,索引器类似属性,但索引器的访问可以有参数,我感觉你可以把它理解成带参数的属性,当然它们之间还是有区别的.解决方案四:如果你写的一个类是集合,一般就会希望用索引器如你有一个类叫Shape,但是还有一个类是ShapeCollection表示管理这一堆Shape的类,那么你自然希望可以这么用Client.Shapes[0].

《.NET程序员面试秘笈》----面试题13 举例说明索引器的作用

面试题13 举例说明索引器的作用 .NET程序员面试秘笈 [考点]索引器的理解,this在索引器中的作用. [出现频率] [解答] 索引器可以使客户程序很方便地访问类中的集合或数组,访问方法类似于通过索引访问数组,并且索引器向客户程序隐藏了内部的数据结构.索引器和属性同样使用get和set访问器读取.写入值,不过索引器的get和set访问器必须具有与索引器相同的形参表.但是属性可以为静态成员,而索引器必须为实例成员.索引器不支持类似于属性的自动实现的语法. 说明: 形参表即为声明索引器时接收的形

概述C#中的索引器

索引 C#语言一个最令人感兴趣的地方就是类的索引器(indexer).简单说来,所谓索引器就是一类特殊的属性,通过它们你就可以像引用数组一样引用自己的类.显然,这一功能在创建集合类的场合特别有用,而在其他某些情况下,比如处理大型文件或者抽象某些有限资源等,能让类具有类似数组的行为当然也是非常有用的.本文就会引领你设置类来采用索引器.但是,首先让我们概述下属性这个概念以便了解些必要的背景知识. 属性 假如你曾经用VB6编写过程序,那么你应该很熟悉属性方法才对,所谓属性方法其实就是特殊的类成员,它实

JavaScript通过元素索引号删除数组中对应元素的方法

 这篇文章主要介绍了JavaScript通过元素索引号删除数组中对应元素的方法,涉及javascript操作数组的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了JavaScript通过元素索引号删除数组中对应元素的方法.分享给大家供大家参考.具体分析如下: JavaScript通过元素的索引号删除数组中的元素,如果要删除第3个元素,则使用RemoveValByIndex(2)即可,JS数组从0开始 ? 1 2 3 4 5 6 7 8 9 10 11 function Rem

php实现数组中索引关联数据转换成json对象的方法_php技巧

本文实例讲述了php实现数组中索引关联数据转换成json对象的方法.分享给大家供大家参考.具体实现方法如下: public static function encode(&$var) { return '{'.implode(',',self::encodeExcute($var)).'}'; } private static function encodeExcute(&$var) { $json = array(); switch (gettype($var)) { case 'arr

“/”应用程序中的服务器错误。索引超出了数组界限。

问题描述 "/"应用程序中的服务器错误.索引超出了数组界限. "/"应用程序中的服务器错误. 索引超出了数组界限. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.IndexOutOfRangeException: 索引超出了数组界限. 源错误: [没有相关的源行] 源文件: c:WINDOWSMicrosoft.NETFrameworkv2.0.50727

c语言-C语言怎么用索引来指示数组中的每个元素

问题描述 C语言怎么用索引来指示数组中的每个元素 C语言怎么用索引来指示数组中的每个元素,能给个例子并解释一下 解决方案 比如 int x[] = {1,2,3}; int a = x[0]; 解决方案二: 应该可以用指针和下标两种办法,但是你说的索引是啥呢? 解决方案三: 索引就是下标,只是2个不同的叫法而已 我们先定义一个int类型数组 int a[2]; //我先进行了定义 int a[0]={1}; //然后分别对每个元素进行初始化 int a[1]={2}; //以上进行初始化的同时,