如何将请求体以IEnumerable类型参数传入C# Azure Function接口?
解决C#中IEnumerable<>类型参数的传参问题
因为API要求请求体是数组格式,对应C#里的IEnumerable<ApiData>参数,你只需要把单个ApiData对象包装成实现了IEnumerable<T>接口的容器即可,以下是几种简单可行的方式:
用数组直接包装
数组天然实现了IEnumerable<T>,直接用数组初始化语法就能快速构造符合要求的参数:var apiData = new ApiData { // 填充你的对象属性,比如 Id = 1, Name = "TestData" }; // 传入包含单个元素的数组 await yourApiClient.YourPostFunctionAsync(new[] { apiData });用List
包装
如果后续可能需要添加更多元素,用List会更灵活: var apiData = new ApiData { /* 填充属性 */ }; var dataList = new List<ApiData> { apiData }; await yourApiClient.YourPostFunctionAsync(dataList);用LINQ的Enumerable.Repeat生成序列
这种方式更明确表达"仅包含单个元素的序列"的意图:var apiData = new ApiData { /* 填充属性 */ }; var enumerableData = Enumerable.Repeat(apiData, 1); await yourApiClient.YourPostFunctionAsync(enumerableData);
本质上,IEnumerable<T>是一个接口,只要是实现了该接口的类型(数组、List
内容的提问来源于stack exchange,提问作者aksoco
相关产品推荐
相关产品推荐

