محمد
محمد
خواندن ۱ دقیقه·۲ سال پیش

ترکیب Iterator Pattern و Patter Mantching - سی شارپ

یک نمونه کد از ترکیب Iterator Pattern و Patter Mantching در سی شارپ که در gist گذاشتم.

https://gist.github.com/mirmostafa/97f6150867a244d4893c789710a99d67
">
public static IEnumerable<T> AddRangeImmuted<T>(this IEnumerable<T>? source, IEnumerable<T>? items) { return (source, items) switch { (null, null) => Enumerable.Empty<T>(), (_, null) => source, (null, _) => items, (_, _) => addRangeImmutedIterator(source, items) }; static IEnumerable<T> addRangeImmutedIterator(IEnumerable<T> source, IEnumerable<T> items) { foreach (var item in source) { yield return item; } foreach (var item in items) { yield return item; } } }

به نظرتون چطوره؟

سی شارپcsharpiterator design patternstructural pattern matching
شاید از این پست‌ها خوشتان بیاید