Sha256: b578dd1225eb3521125081d6b668b78899e04e173231dffe6138f22844723acd

Contents?: true

Size: 569 Bytes

Versions: 263

Compression:

Stored size: 569 Bytes

Contents

using System.Collections;

public static class Flattener
{
    public static IEnumerable Flatten(IEnumerable input)
    {
        foreach (var element in input)
        {
            var enumerable = element as IEnumerable;
            if (enumerable != null)
            {
                foreach (var flattenedElement in Flatten(enumerable))
                {
                    yield return flattenedElement;
                }
            }
            else if (element != null)
            {
                yield return element;
            }
        }
    }
}

Version data entries

263 entries across 263 versions & 1 rubygems

Version Path
trackler-2.2.1.5 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.2.1.4 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.2.1.3 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.2.1.2 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.2.1.1 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.2.1.0 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.2.0.6 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.2.0.5 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.2.0.4 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.2.0.3 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.2.0.2 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.2.0.1 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.2.0.0 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.55 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.54 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.53 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.52 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.51 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.50 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.49 tracks/csharp/exercises/flatten-array/Example.cs