c# - Getting first element of an IEnumerable item -


i returning ienumerable<object[]> element function uses yield return in loop.

public static ienumerable<object[]> getdata() {         ...          connection.open();          using (oledbdatareader dr = command.executereader())         {             while (dr.read())             {             object[] array = new object[dr.fieldcount];                 dr.getvalues(array);             yield return array;             }         }          connection.close(); } 

what's best way retrieve first element without using loop preferably?

var result = adapter.getdata(); 

in short:

enumerator=result.getenumerator(); enumerator.movenext(); enumerator.current; 

this foreach in loop iterate through elements.

proper way:

using (ienumerator<object[]> enumerator = result.getenumerator()) {     if (enumerator.movenext()) e = enumerator.current; 

}

with linq:

var e = result.first(); 

or

var e = result.firstordefault(default); 

also:

var e = result.elementat(0); 

Comments