Как мне получить первый элемент из IEnumerable <T> в .net?

На всякий случай, если вы .net используете .NET 2.0 и у .net вас нет доступа к LINQ:

 static T First(IEnumerable items)
 {
     using(IEnumerator iter = items.GetEnumerator())
     {
         iter.MoveNext();
         return iter.Current;
     }
 }

Это .cs-file должно делать то, что вы c# ищете ... он использует универсальные c-sharp шаблоны, чтобы вы могли получить c-sharp первый элемент любого типа c#-language IEnumerable.

Назовите это c-sharp так:

List items = new List() { "A", "B", "C", "D", "E" };
string firstItem = First(items);

Или

int[] items = new int[] { 1, 2, 3, 4, 5 };
int firstItem = First(items);

Вы можете легко изменить csharp его, чтобы имитировать метод c#.net расширения IEnumerable.ElementAt() .NET visual-c# 3.5:

static T ElementAt(IEnumerable items, int index)
{
    using(IEnumerator iter = items.GetEnumerator())
    {
        for (int i = 0; i <= index; i++, iter.MoveNext()) ;
        return iter.Current;
    }
} 

Назовем это так:

int[] items = { 1, 2, 3, 4, 5 };
int elemIdx = 3;
int item = ElementAt(items, elemIdx);

Конечно, если .net-framework у вас действительно есть доступ к LINQ, тогда c#.net уже опубликовано множество csharp хороших ответов ...

c#

.net

2022-10-25T22:34:51+00:00