zoukankan      html  css  js  c++  java
  • 转换 Task<IAsyncEnumerable<T>> 为 IAsyncEnumerable<T>

    这么做还是有一些意义的,避免重复处理Task<IAsyncEnumerable>实在是有些复杂,如果代码还要处理IAsyncEnumerable的话尤为如此,将二者统一还是有一定意义的

            #region AsAsyncEnumerable
            public static async IAsyncEnumerable<T> AsAsyncEnumerable<T>(this System.Threading.Tasks.ValueTask<IAsyncEnumerable<T>> asyncEnumerable)
            {
                await foreach (var one in await asyncEnumerable.ConfigureAwait(false))
                {
                    yield return one;
                }
            }
            public static async IAsyncEnumerable<T> AsAsyncEnumerable<T>(this System.Threading.Tasks.ValueTask<IEnumerable<T>> asyncEnumerable)
            {
                foreach (var one in await asyncEnumerable.ConfigureAwait(false))
                {
                    yield return one;
                }
            }
            public static async IAsyncEnumerable<T> AsAsyncEnumerable<T>(this System.Threading.Tasks.Task<IEnumerable<T>> asyncEnumerable)
            {
                foreach (var one in await asyncEnumerable.ConfigureAwait(false))
                {
                    yield return one;
                }
            }
            public static async IAsyncEnumerable<T> AsAsyncEnumerable<T>(this System.Threading.Tasks.Task<IAsyncEnumerable<T>> asyncEnumerable)
            {
                await foreach(var one in await asyncEnumerable.ConfigureAwait(false))
                {
                    yield return one;
                }
            }
            #endregion
    
  • 相关阅读:
    SOLO: 按位置分割对象
    支付宝架构
    h264和h265多维度区别
    机器学习图解
    机器视觉系统性能
    APA自动泊车系统
    智能驾驶测距估计
    结构感知图像修复:ICCV2019论文解析
    Lambda表达式
    转:利用 T-sql 的从句 for xml path('') 实现多行合并到一行, 并带有分隔符
  • 原文地址:https://www.cnblogs.com/yinyue200/p/12678740.html
Copyright © 2011-2022 走看看