官术网_书友最值得收藏!

Generalized async return types

If you use async/await (if not, check it out) the following feature of C# 7.0 will come in really handy. The only supported return types used to be Task<T>, Task, and void. Even then, void was also only used with event handlers such as a button click. The challenge, however, was that a Task<T> was allocated in situations where the result of the async operation was available at the time of awaiting. But, what does this even mean? Well consider an async method that returns a Task<T> : and that value has a time to live of n amount of seconds. If the async method is called within the time to live period, why go to the trouble of allocating another Task<T> object? This is where the ValueTask<T> comes into play; it will allow other types to be defined so that you can return them from an async method. This, therefore, reduces the Task<T> allocations, which in turn will lead to performance gains.

主站蜘蛛池模板: 和静县| 北碚区| 淄博市| 葫芦岛市| 红桥区| 应城市| 台东县| 临朐县| 花莲市| 临江市| 兴安县| 久治县| 万源市| 墨脱县| 赤城县| 军事| 固镇县| 南城县| 百色市| 河源市| 从化市| 万年县| 扶余县| 玛纳斯县| 海原县| 云南省| 泸定县| 牟定县| 宝兴县| 贵溪市| 克山县| 永胜县| 顺昌县| 通州区| 柳州市| 南京市| 彰化县| 全州县| 库车县| 安徽省| 稻城县|