Click here to Skip to main content
15,867,686 members
Home / Discussions / C#
   

C#

 
QuestionI need some help Pin
Member 1551267725-Jan-22 12:09
Member 1551267725-Jan-22 12:09 
AnswerRe: I need some help Pin
Luc Pattyn25-Jan-22 14:34
sitebuilderLuc Pattyn25-Jan-22 14:34 
AnswerRe: I need some help Pin
RobertSF25-Jan-22 17:15
professionalRobertSF25-Jan-22 17:15 
AnswerRe: I need some help Pin
OriginalGriff25-Jan-22 20:01
mveOriginalGriff25-Jan-22 20:01 
QuestionC# EPPlus How to hide range of columns Pin
Mou_kol24-Jan-22 2:01
Mou_kol24-Jan-22 2:01 
AnswerRe: C# EPPlus How to hide range of columns Pin
Richard Deeming24-Jan-22 2:58
mveRichard Deeming24-Jan-22 2:58 
AnswerRe: C# EPPlus How to hide range of columns Pin
Victor Nijegorodov24-Jan-22 3:50
Victor Nijegorodov24-Jan-22 3:50 
QuestionHow would you describe what an IEnumerable is to a bright student of C# Pin
BillWoodruff22-Jan-22 2:34
professionalBillWoodruff22-Jan-22 2:34 
... I Introduction

Imagine you have bright young student sitting down with you, whom you've introduced to Linq, and generics ... and, they've had no problems mastering 'Select and 'Where, 'Aggregate, etc.

You have introduced them to the use of 'yield return' in a method to return an IEnumerable they can turn into an instance of a collection. They "get that," and get use of yield means they can skip direct assignment to a pre-defined, initialized collection, or, a collection instance reference passed in as an 'out parameter.

And you are trying to explain to them the "deferred iteration/evaluation" aspect of IEnumerable, and the way that enables some advanced practices (function chaining).

At that point, you can sense the student is hesitant; you ask her/him what's really on their minds, and, because they trust you, they tell you. They ask interesting questions like:

Is there any real reason to use an IEnumerable ?

What's so useful about deferred evaluation ?

Isn't deferred evaluation dangerous because you have no idea of what might have changed in the time between assembling the IEnumerable and iterating/evaluating it ?

Why can't I test an IEnumerable to see if it's empty, or null; why do I have to trigger iteration with 'Count() to see how many items it has, and, why can I only use 'Any to see if there are no items in it without triggering iteration..

... II Context

I speak of an IEnumerable<T> returned from a Function (C# Func) that is ready be iterated over (has items).

I've had some interesting exchanges with my esteemed colleagues @RichardDeeming and @HaroldAptroot on this subject in this recent thread, here: [^].

I won't recapitulate that thread here, both because I'd like to hear your initial responses, and, I don't want to, possibly, misrepresent Richard or Harold's views.
«The mind is not a vessel to be filled but a fire to be kindled» Plutarch


modified 22-Jan-22 15:52pm.

AnswerRe: How would you describe what an IEnumerable is to a bright student of C# Pin
jschell23-Jan-22 7:25
jschell23-Jan-22 7:25 
GeneralRe: How would you describe what an IEnumerable is to a bright student of C# Pin
Richard Deeming23-Jan-22 21:59
mveRichard Deeming23-Jan-22 21:59 
GeneralRe: How would you describe what an IEnumerable is to a bright student of C# Pin
BillWoodruff25-Jan-22 3:23
professionalBillWoodruff25-Jan-22 3:23 
GeneralRe: How would you describe what an IEnumerable is to a bright student of C# Pin
jschell30-Jan-22 6:37
jschell30-Jan-22 6:37 
AnswerRe: How would you describe what an IEnumerable is to a bright student of C# Pin
#realJSOP24-Jan-22 23:44
mve#realJSOP24-Jan-22 23:44 
AnswerRe: How would you describe what an IEnumerable is to a bright student of C# Pin
endo funk26-Jan-22 5:31
endo funk26-Jan-22 5:31 
GeneralRe: How would you describe what an IEnumerable is to a bright student of C# Pin
Gerry Schmitz26-Jan-22 6:13
mveGerry Schmitz26-Jan-22 6:13 
GeneralRe: How would you describe what an IEnumerable is to a bright student of C# Pin
endo funk26-Jan-22 9:40
endo funk26-Jan-22 9:40 
GeneralRe: How would you describe what an IEnumerable is to a bright student of C# Pin
Gerry Schmitz27-Jan-22 16:58
mveGerry Schmitz27-Jan-22 16:58 
GeneralRe: How would you describe what an IEnumerable is to a bright student of C# Pin
endo funk27-Jan-22 19:35
endo funk27-Jan-22 19:35 
GeneralRe: How would you describe what an IEnumerable is to a bright student of C# Pin
Gerry Schmitz28-Jan-22 5:50
mveGerry Schmitz28-Jan-22 5:50 
GeneralRe: How would you describe what an IEnumerable is to a bright student of C# Pin
endo funk28-Jan-22 6:40
endo funk28-Jan-22 6:40 
GeneralRe: How would you describe what an IEnumerable is to a bright student of C# Pin
Gerry Schmitz28-Jan-22 7:29
mveGerry Schmitz28-Jan-22 7:29 
GeneralRe: How would you describe what an IEnumerable is to a bright student of C# Pin
endo funk28-Jan-22 8:46
endo funk28-Jan-22 8:46 
GeneralRe: How would you describe what an IEnumerable is to a bright student of C# Pin
BillWoodruff26-Jan-22 23:52
professionalBillWoodruff26-Jan-22 23:52 
GeneralRe: How would you describe what an IEnumerable is to a bright student of C# Pin
BillWoodruff26-Jan-22 23:39
professionalBillWoodruff26-Jan-22 23:39 
GeneralRe: How would you describe what an IEnumerable is to a bright student of C# Pin
endo funk27-Jan-22 6:44
endo funk27-Jan-22 6:44 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.