C#使用List返回多个参数,如何更便捷?
本帖最后由 cn005897 于 2021-10-18 14:42 编辑//自定义参数
public class Parm
{
public int Count { get; set; }
public string Msg { get; set; }
}
public static List<Parm> Test<T>()
{
List<Parm> list = new List<Parm>();
list.Add(new Parm { Count = 100, Msg = "" });
return list;
}
我想在设定返回值为List<Parm>类型,我现在是这样调用的
List<Parm> li = Test<Parm>();
不知道有没有更方便的写法、 你这样写的意义是啥? out 和ref 干啥用的还有你为什么不能直接返回Parm 对象 已经有啦固定类型 为什么还要用泛型呢public static List<Parm> Test(){//todo;
}
这样不可以吗 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, "")}
}; 方法有很多:
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);
}
楼主是不是搞java的,C#都是用ref和out{:1_907:} 可以返回以特殊字符分隔的字符串,到时用Split函数即可! tanzhiwei 发表于 2021-10-18 15:06
楼主是不是搞java的,C#都是用ref和out
{:1_924:}以前碰过,现在很少用ref,我去了解下,谢谢 谢谢各位大佬指点,基础还是太差了
页:
[1]
2