c# - 如何使用跨度在异步方法中?
问题描述
我正在尝试使用以下代码在异步方法中确定有效的 base64 字符串:
public static async Task<bool> IsBase64String(string base64)
{
Span<byte> buffer = new Span<byte>(new byte[base64.Length]);
return await Task.FromResult(Convert.TryFromBase64String(base64, buffer, out int bytesParsed));
}
但是跨度不能在异步方法中声明,请任何人帮忙?
解决方案
我正在尝试在异步方法中确定有效的 base64 字符串
为什么?该方法没有任何异步。解决此问题的正确方法是删除async
关键字:
public static bool IsBase64String(string base64)
{
Span<byte> buffer = new Span<byte>(new byte[base64.Length]);
return Convert.TryFromBase64String(base64, buffer, out int bytesParsed);
}
推荐阅读
- c# - Nuget 包验证在构建机器上花费的时间太长
- python - Django rest-framework 通过与外键连接的其他模型的名称过滤模型
- d3.js - d3jsv4 时间线图,在擦洗期间带有垂直月轴
- java - 在 TestNG 上更改 JUnit,NullPointerException
- python - 安装 Python Python 3.7 + Tensorflow 2.0 + Jupyter Notebook 2020 并面临问题
- android - 如果 BLE 服务器在 Android 6 上运行,则 BLE 状态 GATT_CONN_TERMINATE_PEER_USER
- shell - AppleScript 到 Shell 脚本
- javascript - 重定向空提取请求
- python - 在python中绘制球体
- javascript - Firebase身份验证的onAuthStateChanged中的重定向加载页面无穷无尽