关于C#中数组元素的查找的问题。

2025-03-12 12:44:32
推荐回答(2个)
回答1:

一个方法的定义,只能决定方法体内,不能决定方法体外,只能决定参数的类型,不能决定参数的具体约束,也就是说可以在IndexOf方法内部对你传入的参数作处理,而不能在调用时,也就是该方法以外的部分决定你必须传入小于10的参数。。
初学者应该多站在计算机的角度,站在运行时的角度来解读代码,呵呵

只有你自己知道索引超出了,indexof函数的编写者不知道,除非他是神,在编写该函数的时候就能预测你会以这样索引超出的方式调用,否则,他只能防止你这样调用出现的错误结果,也就是他必须在方法体里面一开始就判断是否存在索引超出的情况,如果存在就返回-1

回答2:

这没有什么奇怪的,跟indexof这个方法的实现有关系,比如当捕捉到Index溢出时,我直接返回-1,表示没有找到,因为你让我到数组外面去找嘛。你可以找array的源代码看看。