我想从c#中的方法返回多个参数.我只是想知道哪个更好或者是元组?
static void Split (string name, out string firstNames, out string lastName)
{
int i = name.LastIndexOf (' ');
firstNames = name.Substring (0, i);
lastName = name.Substring (i + 1);
}
static Tuple<string,string> Split (string name)
{
//TODO
}
Run Code Online (Sandbox Code Playgroud)
如果您需要从方法返回多个值,通常会在某处隐藏一个(值)类。将方法作为构造函数的值类怎么样Split():
public class Name
{
public Name(string name)
{
int i = name.LastIndexOf (' ');
FirstNames = name.Substring (0, i);
LastName = name.Substring (i + 1);
}
public string FirstName {get; private set;}
public string LastName {get; private set;}
}
Run Code Online (Sandbox Code Playgroud)
代替
Split(name, out string firstName, out string lastName);
Run Code Online (Sandbox Code Playgroud)
做就是了
Name n = new Name(name);
Run Code Online (Sandbox Code Playgroud)
n.FirstName并通过和访问名字和姓氏n.LastName。