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

  • A+
所属分类:.NET技术
摘要

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

最近在做程序接口,每次都要为不同的接口定义不同的返回类型,由于前端只要求返回的数据式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); 

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