Thread overview
Re: C# code sample
Jan 26, 2011
Kagamin
Jan 26, 2011
bearophile
Jan 26, 2011
Jesse Phillips
January 26, 2011
pragma Wrote:

> Hi i come from a c# background
> 
> I would like to write the following code in the according D style but i'm not sure howto do it
> 
> c# code:
> void foo(IEnumerable<double[]> data)
> {
>   foreach (var d in data)
>   {
>     do_some_stuff(d);
>   }
> }
> 
> i guess the D equivalent to IEnumerable is Range? how would it look like in D?

Usually there's a little need for a range in such case. IEnumerable is usually used because there's a high need for the List collection so it's used even more often than arrays. Current druntime heap implementation already gives D arrays C# List performance.
January 26, 2011
Kagamin:

> Current druntime heap implementation already gives D arrays C# List performance.

What do you mean? Do you mean regarding appends, iteration, or what?

Bye,
bearophile
January 26, 2011
Kagamin Wrote:

> pragma Wrote:
> 
> > i guess the D equivalent to IEnumerable is Range? how would it look like in D?
> 
> Usually there's a little need for a range in such case. IEnumerable is usually used because there's a high need for the List collection so it's used even more often than arrays. Current druntime heap implementation already gives D arrays C# List performance.

What? Of course there is a reason to use a Range/Iterable and has nothing to do with performance. He could be getting his double[] from any number of functions found in std.algorithm, most of whom return their own Range type.