我只想知道C#中是否有一个foreach oneliner,就像if oniner(exp)?然后:其他
解决方法
如果您正在处理数组,那么可以使用内置的静态
ForEach
方法:
Array.ForEach(yourArray,x => Console.WriteLine(x));
如果您正在处理列表< T>那么可以使用内置的ForEach
实例方法:
yourList.ForEach(x => Console.WriteLine(x));
没有任何内置功能可以对任何任意的IEnumerable< T>顺序,但是如果您觉得需要,可以轻松滚动自己的扩展方法:
yourSequence.ForEach(x => Console.WriteLine(x)); // ... public static class EnumerableExtensions { public static void ForEach<T>(this IEnumerable<T> source,Action<T> action) { if (source == null) throw new ArgumentNullException("source"); if (action == null) throw new ArgumentNullException("action"); foreach (T item in source) { action(item); } } }