C# 获取System.array的第一个元素?

C# 获取System.array的第一个元素?,c#,C#,我正在为DisplayFusion中的任务编写脚本。有一个包含窗口类的数组,我首先需要它 如何获取System.array的第一个元素,而不管索引的类型如何 我试过了 String windowClass = BFS.Window.GetClass(myArray[Array.IndexOf(myArray)]); 但这是一个错误 (方法'IndexOf'没有重载,接受1个参数) IndexOf用于查找数组中与传递的值匹配的第一个元素的索引。我想你在找[0] String windowClas

我正在为
DisplayFusion
中的任务编写脚本。有一个包含窗口类的数组,我首先需要它

如何获取
System.array的第一个元素,而不管索引的类型如何

我试过了

String windowClass = BFS.Window.GetClass(myArray[Array.IndexOf(myArray)]);
但这是一个错误

(方法'IndexOf'没有重载,接受1个参数)


IndexOf
用于查找数组中与传递的值匹配的第一个元素的索引。我想你在找
[0]

String windowClass = BFS.Window.GetClass(myArray[0]);
请注意,如果数组为空,则会引发异常


您也可以使用
System.Linq
中的
.First()
FirstOrDefault()
,但
[0]
是为满足您的需要而设计的

myArray[0]
将为您获取第一个元素。不确定您在这里使用IndexOf试图实现什么,但错误是因为IndexOf需要(至少)两个输入值—要搜索的数组和要搜索的值。IndexOf的目的是在数组中查找特定值的第一个匹配项,然后它将告诉您在哪个数组索引处出现。在代码中,您没有提供要搜索的特定值。答案在错误消息中:没有接受单个参数的重载;你需要告诉它(要查找的内容)的索引。因此,
IndexOf
不是用于检索给定索引的元素,而是用于查找给定元素的索引。那么如何获取第一个索引?第一个索引始终为0。因此
myArray[0]
将返回数组中的第一个元素。通常,程序员在编写数组类代码时,处理的是互操作。特别是COM库并不总是创建第一个索引为0的数组,基本程序员希望从1开始。使用Array.GetLowerBound()。