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

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.

主站蜘蛛池模板: 鄂托克前旗| 运城市| 灵台县| 四平市| 辽阳市| 密云县| 谢通门县| 梓潼县| 通道| 康马县| 辽宁省| 灵璧县| 山丹县| 尚志市| 布尔津县| 双桥区| 闻喜县| 汤阴县| 梁河县| 景宁| 吉林市| 冷水江市| 邳州市| 肇庆市| 丘北县| 曲周县| 长丰县| 南康市| 石首市| 九龙城区| 留坝县| 房山区| 冀州市| 麦盖提县| 久治县| 沂水县| 连州市| 三江| 隆德县| 双桥区| 建湖县|