关于C#函数如何不定义类型直接返回一个集合类型的字符串

最近在做程序接口,每次都要为不同的接口定义不同的返回类型,由于前端只要求返回的数据式JSON格式的串,所以想偷点懒。
一种是直接用object泛型集合直接转成串

var companies = new List<object>();

// ... sql的相关操作
while (reader.Read())
    companies.Add(new { id = reader.GetString(0), text = reader.GetString(1) }); // 给集合赋值

// ... 省略了部分代码
return JSONhelper.ToJson(companies);

第二种是用集合类ArrayList,成员直接用匿名类型

 var companies = new ArrayList();
// ... sql的相关操作
while (reader.Read())
    companies.Add(new { id = reader.GetString(0), text = reader.GetString(1) }); // 给集合赋值

// ... 省略了部分代码
return JSONhelper.ToJson(companies);

第三种是用数组,但匿名数组需要先初始化一个类型,你需要告诉C#你数组里面的是个什么样的数据(类型)。

var companies = new[] { new { id = "0000", text = "全部" } }.ToList();

// ... sql的相关操作
while (reader.Read())
    companies.Add(new { id = reader.GetString(0), text = reader.GetString(1) }); // 给集合赋值

// ... 省略了部分代码
return JSONhelper.ToJson(companies);

本质上以上几种方法基本都是一样的,有点像是为了回字有几种写法了...
当然,还有最后一个“绝招”,直接拼接字符串。但我想一般情况下不需要这么干

posted @ 2022-03-18 11:26  壮哈苗  阅读(454)  评论(0编辑  收藏  举报