CSharp examples for System.Collections:ICollection
Convert an ICollection to an array, removing null values. Fast path for case where there are no null values.
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. using System.Linq; using System.Diagnostics.Contracts; using System.Collections.ObjectModel; using System.Collections.Generic; using System;//from w ww. jav a 2s. c o m public class Main{ /// <summary> /// Convert an ICollection to an array, removing null values. Fast path for case where there are no null values. /// </summary> public static T[] ToArrayWithoutNulls<T>(this ICollection<T> collection) where T : class { Contract.Assert(collection != null); T[] result = new T[collection.Count]; int count = 0; foreach (T value in collection) { if (value != null) { result[count] = value; count++; } } if (count == collection.Count) { return result; } else { T[] trimmedResult = new T[count]; Array.Copy(result, trimmedResult, count); return trimmedResult; } } }