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.1.0.48 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.47 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.46 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.45 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.44 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.43 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.42 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.41 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.40 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.39 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.38 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.37 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.36 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.34 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.33 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.32 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.31 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.30 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.29 tracks/csharp/exercises/flatten-array/Example.cs
trackler-2.1.0.28 tracks/csharp/exercises/flatten-array/Example.cs