You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#异步函数返回值报错求助:非void异步函数报CS1983错误

解决CS1983异步方法返回类型错误

错误原因

C# 中async方法的返回类型有严格规则:如果方法有返回值,不能直接返回具体类型(比如String),必须返回Task<T>(T为实际返回值类型),或是其他符合要求的异步类型(如IAsyncEnumerable<T>)。你当前的方法返回String,违反了这个规则,因此触发CS1983错误。

修改后的代码

只需把方法的返回类型从String改为Task<String>即可:

public async static Task<String> H()
{
    String url = $@"http://192.168.1.33:5000/Delete_Products?Name={h}";
    var h1 = await httpClient.GetStringAsync(url);
    return h1;
}

补充说明

async方法的合法返回类型包括:

  • void:仅推荐用于事件处理程序,这类方法无法被await,且异常难以捕获
  • Task:无实际返回值的异步方法(替代void,是更安全的选择)
  • Task<T>:有实际返回值T的异步方法,调用时通过await获取最终的T类型结果
  • IAsyncEnumerable<T>/IAsyncEnumerator<T>:用于异步迭代场景

内容的提问来源于stack exchange,提问作者Reza Arbabi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 20:39:57