• 关于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);
    

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

  • 相关阅读:
    差分约束系统详解
    AC自动机详解
    KMP算法详解
    ST算法详解
    Trie详解
    欧拉路径详解
    树上差分详解
    LCA详解
    树链剖分详解
    树的直径详解
  • 原文地址:https://www.cnblogs.com/zhuanghamiao/p/Anonymous_objects.html
Copyright © 2020-2023  润新知