吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1224|回复: 10
收起左侧

[讨论] C#使用List返回多个参数,如何更便捷?

[复制链接]
7R903 发表于 2021-10-18 14:36
本帖最后由 cn005897 于 2021-10-18 14:42 编辑

[C#] 纯文本查看 复制代码
//自定义参数
public class Parm
{
    public int Count { get; set; }
    public string Msg { get; set; }
}




[C#] 纯文本查看 复制代码
 
public static List<Parm> Test<T>()
{
   List<Parm> list = new List<Parm>();
   list.Add(new Parm { Count = 100, Msg = "" });
   return list;
}



我想在设定返回值为List<Parm>类型,我现在是这样调用的
[C#] 纯文本查看 复制代码
List<Parm> li = Test<Parm>();


不知道有没有更方便的写法、

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

错的是世界 发表于 2021-10-18 14:46
你这样写的意义是啥?
netcsk 发表于 2021-10-18 14:46
out 和ref 干啥用的  还有你为什么不能直接返回  Parm 对象
netcsk 发表于 2021-10-18 14:48
已经有啦固定类型 为什么还要用泛型呢  public static List<Parm> Test(){//todo;
}

这样不可以吗
wanghun315 发表于 2021-10-18 14:57
1.不定义Parm:
            List<Dictionary<int, String >> li = new List<Dictionary<int, String>>() {
                {new Dictionary<LONG, string>(){ { 100, "" } } }
            };
2.定义Parm:
           public class Parm
           {
                public int Count { get; set; }
                public string Msg { get; set; }
                public Parm(int count, string msg){
                      Count = count;
                     Msg = msg;
                 }
                public static Parm CreateParm(int count, string msg){
                    Parm p = new Parm(count, msg);
                    return p;
                    
                }
            }
            List<Parm> li = new List<Parm>() {
                {new Parm(100, "")}
            };
coolcalf 发表于 2021-10-18 15:03
方法有很多:
public string, string GetFirstNameAndLastName(int id)
{
    var person = from p in People
                 where p.Id = id
                 select p;
    return(p.FirstName, p.LastName);
}

public void Main(string[] args)
{
    string firstName, lastName;
    (firstName, lastName) = GetFirstNameAndLastName(1);

    Console.WriteLine(firstName +"," + lastName);
}


您也可以使用C#4.0中的Tuple以轻量级方式实现此目的:

public Tuple<string, string> GetFirstNameAndLastName(int id)
{
   var person = from p in People
             where p.Id = id
             select p;
   return new Tuple<string, string>(p.FirstName, p.LastName);

   // OR
   // return Tuple.Create(p.FirstName, p.LastName);
}

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
7R903 + 1 + 1 用心讨论,共获提升!

查看全部评分

不知道改成啥 发表于 2021-10-18 15:06
楼主是不是搞java的,C#都是用ref和out
weikun444 发表于 2021-10-18 15:11
可以返回以特殊字符分隔的字符串,到时用Split函数即可!
 楼主| 7R903 发表于 2021-10-18 15:31
tanzhiwei 发表于 2021-10-18 15:06
楼主是不是搞java的,C#都是用ref和out

以前碰过,现在很少用ref,我去了解下,谢谢
 楼主| 7R903 发表于 2021-10-18 15:33
谢谢各位大佬指点,基础还是太差了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 20:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表