Результаты поиска по запросу "ienumerable"

1 ответ

Сравнение производительности IEnumerable и повышение события для каждого элемента в источнике?

Я хочу прочитать большой двоичный файл, содержащий миллионы записей, и я хочу получить некоторые отчеты для записей. я используюBinaryReader читать (что, я думаю, имеет лучшую производительность в читателях) и преобразовывать прочитанные байты в ...

2 ответа

 хотя теоретически было бы возможно идентифицировать известные типы и привести их в соответствие, чтобы использовать их.

ользую новую версию Resharper 6. В некоторых местах моего кода он выделил какой-то текст и предупредил меня, что может бытьВозможно многократное перечисление IEnumerable. Я понимаю, что это значит, и воспользовался советом, где это уместно, но ...

2 ответа

И в vb.net, и в C # конструкция foreach работает, вызывая один раз метод GetEnumerator для объекта и захватывая возвращаемый объект, повторно вызывая MoveNext и Current для объекта, возвращенного из GetEnumerator, и, наконец, если этот объект реализует Dispose, вызывая Избавьтесь от этого. Ни C #, ни vb.net на самом деле не кэшируют перечисляемый объект, но ни одному из них не нужно использовать объект для каких-либо целей после того, как он вызвал GetEnumerator для него один раз. Оба языка держат перечислитель, но ни один из них не предоставляет никаких средств для работы с ним, кроме подразумеваемых вызовов MoveNext, Current и Dispose.

олагая, чтоSomeMethod имеет подпись public IEnumerable<T> SomeMethod<T>();есть ли разница между foreach (T tmp in SomeMethod<T>()) { ... }а также IEnumerable<T> result = SomeMethod<T>(); foreach (T tmp in result) { ... } Другими словами, будут ...

ТОП публикаций

10 ответов

 что позволит, что вы хотите сделать.

я естьIEnumerable<T> иIEnumerable<U> что я хочу слить вIEnumerable<KeyValuePair<T,U>> где индексы элементов, соединенных вместе в KeyValuePair, одинаковы. Обратите внимание, что я не использую IList, поэтому у меня нет количества или индекса для ...

2 ответа

Огромная проблема заключается в том, что вы перебираете одно из перечислимых несколько раз; независимо от влияния на производительность, у вас могут возникнуть непреднамеренные побочные эффекты (что, если это будет поддержано вызовом базы данных?).

я есть 2IEnumerable<int> IEnumerable<int> x; IEnumerable<int> y;Каков наилучший лучший способ определить, присутствует ли какой-либо int в y в x? В настоящее время я использую: return x.Intersect<int>(y).Count() > 0;Будет ли значительно быстрее ...

6 ответов

Я использовал следующее, но мне больше нравится предложение Сержа, и оно напоминает то, что я делал раньше, но потом забыл, что IDataReader реализует

ужно использоватьLinq на любомIDataReader реализации как это var c = sqlDataReader.AsEnumerable().Count();Пример: public abstract class Test { public abstract SqlDataReader GetSqlDataReader(); public void Foo() { SqlDataReader sqlDataReader = ...

3 ответа

Может быть, так?

я есть эта функция: private void Pager(IEnumerable<t> tEnum) { ... }и я хотел бы передать разные IEnumerable, какIEnumerable<MyObject1> или жеIEnumerable<MyObject2>. Является ли это возможным?

6 ответов

"Вы чувствуете себя хорошо" спасибо за ваше благословение о-святой-один-из-за 14k очков, я буду спать сегодня вечером

ела быобщее решениено в качестве примера предположим, что у меня естьIEnumerable<string>где некоторые могут быть проанализированы как целые числа, а некоторые нет. var strings = new string[] { "1", "2", "notint", "3" };Очевидно, если бы ...

2 ответа

Отладка метода IEnumerable

У меня есть метод с возвращаетIEnumerable<T> и я пытаюсь отладить код внутри этого метода. Каждый раз, когда я перебираю код в Visual Studio во время отладки, он переходит на метод, о котором идет речь. Когда я размещаю точку останова внутри ...

4 ответа

Метод расширения для Enumerable.Intersperse?

Я узналвкрапленная функция [http://haskell.org/ghc/docs/latest/html/libraries/base/Data-List.html#v:intersperse] от Haskell, и искал реализацию в C #. Intersperse принимает 2 аргумента, источник IEnumerable <T> и элемент T. Он возвращает ...