Публикации по теме 'ienumerable'
Серия Как я познакомился со своим языком программирования: C# — IEnumerable, IEnumerator — Часть 1
Примечание. Я написал эту серию только для развлечения и для того, чтобы сделать несколько заметок о том, что я узнал на уроке. История может не быть «выдающейся» или «отличной». :D
Итак, это примечание касается: IEnumerable, IEnumerator .
IEnumerable
IEnumerable — это в основном интерфейс. IEnumerable позволяет нам использовать ключ « foreach » для объекта класса, который устанавливает этот интерфейс. Обычно мы используем IEnumerable в списке. Если мы используем..
Как реализовать интерфейс IEnumerable?
Мы попытаемся ответить на поставленный выше вопрос с помощью ряда подвопросов. Надеюсь, к концу этой статьи мы будем лучше понимать интерфейс IEnumerable.
Почему мы должны реализовать интерфейс IEnumerable?
Обеспечить более простой способ перечисления пользовательских типов.
Допустим, у нас есть собственный класс OddNumbers, единственной целью которого является инкапсуляция массива первых n нечетных чисел .
Теперь, если бы нам нужно было перебрать массив нечетных чисел за..
Вопросы по теме 'ienumerable'
Как бы вы реализовали интерфейс IEnumerator?
У меня есть класс, который сопоставляет объекты с объектами, но, в отличие от словаря, он сопоставляет их в обоих направлениях. Сейчас я пытаюсь реализовать собственный интерфейс IEnumerator , который перебирает значения.
public class...
17174 просмотров
schedule
25.03.2023
Нужно ли классу реализовывать IEnumerable для использования Foreach
Это на С#, у меня есть класс, который я использую из какой-то другой DLL. Он не реализует IEnumerable, но имеет 2 метода, которые возвращают IEnumerator. Есть ли способ использовать для них цикл foreach. Класс, который я использую, запечатан.
11113 просмотров
schedule
08.04.2023
Наследовать IEnumerable от последствий объекта
Я опубликовал ответ на этот вопрос , включая очень короткую тираду в конце о том, как String.Split() должен принимать IEnumerable‹string > вместо строки[].
Это заставило меня задуматься. Что, если базовый класс Object, от которого наследуется...
523 просмотров
schedule
05.04.2023
Перебирать общий список неизвестного типа во время выполнения в VB.Net
Кто-нибудь знает, как перебирать общий список, если тип этого списка неизвестен до времени выполнения?
Например, предположим, что obj1 передается в функцию как Object :
Dim t As Type = obj1.GetType
If t.IsGenericType Then
Dim...
8623 просмотров
schedule
04.03.2024
Как сделать IEnumerable‹T› только для чтения?
Почему списки list1Instance и p в методе Main приведенного ниже кода указывают на одну и ту же коллекцию?
class Person
{
public string FirstName = string.Empty;
public string LastName = string.Empty;
public...
15398 просмотров
schedule
31.07.2022
Добавленная стоимость ключевого слова доходности?
все еще пытаюсь найти, где я мог бы использовать ключевое слово "yield" в реальной ситуации.
Я вижу эту ветку на эту тему
Для чего используется ключевое слово yield в C #?
но в принятом ответе у них есть это как пример, когда кто-то...
1988 просмотров
schedule
12.11.2022
Почему операторы foreach принимают объекты, реализующие шаблон «Коллекция», а не принимают только объекты, реализующие IEnumerable?
Многие люди спрашивают меня, почему, и у меня нет для них хорошего ответа.
Очевидно, есть веская причина. Кто-нибудь это знает?
Я искал здесь и нашел этот вопрос . Он объясняет, как это работает, но не почему.
497 просмотров
schedule
10.02.2024
В чем реальное преимущество возврата ICollection ‹T› вместо List ‹T›?
Я прочитал пару сообщений в блоге, в которых упоминалось, что для общедоступных API мы всегда должны возвращать ICollection (или IEnumerable) вместо List. В чем реальное преимущество возврата ICollection вместо списка?
Спасибо!
Дубликат: В чем...
12213 просмотров
schedule
24.10.2022
Когда мне следует использовать IEnumerator для зацикливания в С#?
Мне было интересно, есть ли случаи, когда выгодно использовать IEnumerator вместо цикла foreach для перебора коллекции? Например, есть ли время, когда было бы лучше использовать один из следующих примеров кода вместо другого?...
36942 просмотров
schedule
13.05.2022
IEnumerable.GetEnumerator() возвращает IEnumVariant в Delphi 6
Я использую сборку .Net2.0 в Delphi 6 через COM. Один из методов в одном из интерфейсов возвращает IEnumerable. Пока я импортирую mscorlib.tlb, расположенный в
"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727"
, я могу получить доступ к...
1630 просмотров
schedule
22.06.2022
C#: реализация SkipLast
Мне нужен был метод, чтобы дать мне все, кроме последнего элемента в последовательности. Это моя текущая реализация:
public static IEnumerable<T> SkipLast<T>(this IEnumerable<T> source)
{
using...
1541 просмотров
schedule
29.07.2022
Аналог String.Join (string, string []) для IEnumerable ‹T›
класс String содержит очень полезный метод - String.Join(string, string[]) .
Он создает строку из массива, отделяя каждый элемент массива заданным символом. Но в целом - он не добавляет разделитель после последнего элемента! Я использую его...
5481 просмотров
schedule
16.02.2023
Как предотвратить переполнение памяти при использовании IEnumerable ‹T› и Linq-To-Sql?
Этот вопрос связан с моим предыдущим вопросом
Это мой текущий код
IEnumerable<Shape> Get()
{
while(//get implementation
yield return new Shape(//...
}
void Insert()
{
var actual = Get();
using (var db =...
607 просмотров
schedule
12.06.2023
Должен ли я всегда возвращать IEnumerable ‹T› вместо IList ‹T›?
Когда я пишу свой DAL или другой код, который возвращает набор элементов, должен ли я всегда делать оператор return:
public IEnumerable<FooBar> GetRecentItems()
or
public IList<FooBar> GetRecentItems()
В настоящее время...
44353 просмотров
schedule
19.06.2022
Преобразование IEnumerable в DataTable
Есть ли хороший способ преобразовать IEnumerable в DataTable?
Я мог бы использовать отражение для получения свойств и значений, но это кажется немного неэффективным, есть ли что-то встроенное?
(я знаю такие примеры, как:...
118515 просмотров
schedule
01.07.2023
C # IEnumerable ‹Object› в строку
Для целей регистрации я хотел бы вызвать метод .ToString() для каждого объекта в массиве object []. Как я могу сделать это самым простым способом?
Скажем, у меня есть:
myArray = new Object[]{"astring",1, Customer}
Log(????);
Как...
16848 просмотров
schedule
26.03.2023
Выиграют ли C# различия между типами перечислителей, такими как итераторы C++?
Я думал о методе IEnumerator.Reset() . Я читал в документации MSDN, что это только для COM-взаимодействия. Как программист на C++, мне кажется, что IEnumerator , поддерживающий Reset , я бы назвал прямой итератор , тогда как IEnumerator ,...
523 просмотров
schedule
05.11.2022
Мне нужно перебрать и посчитать. Что является самым быстрым или предпочтительным: ToArray () или ToList ()?
Возможный дубликат: Что лучше вызывать ToList () или ToArray () в запросах LINQ?
У меня такой код:
void Foobar(string[] arr, Dictionary<string, string[]>)
{
var t = arr.Intersect(dic.Keys).ToList(); // .or ToArray() ?...
11388 просмотров
schedule
16.05.2022
Можно ли клонировать экземпляр IEnumerable‹T›, сохранив копию состояния итерации?
Я хотел бы создать копию IEnumerator<T> , чтобы я мог перезапустить процесс перечисления из определенного места в коллекции. Ясно, что для коллекций, реализующих IList , делать это бесполезно, поскольку мы можем запомнить интересующий индекс....
12807 просмотров
schedule
15.07.2022
C # - Yield дает непригодный для использования тип
У меня есть класс и набор IEnumerables, которые используют этот класс, чтобы дать мне список в списке. (Подробности см. в ответе на этот вопрос .)
Вот код:
public IEnumerable<IEnumerable<WorkItemColumn>>...
572 просмотров
schedule
13.12.2022