您可以使用元组(在.Net 4中添加)。 Tuples in MSDN
此:
public class MySplitter
{
public MySplitter(string split)
{
var results = split.Split(',');
NamedPartA = results[0];
NamedpartB = results[1];
}
public string NamedPartA { get; private set; }
public string NamedPartB { get; private set; }
}
可以用的东西来实现这样的:
public Tuple<string,string> SplitIntoVars(string toSplit)
{
string[] split = toSplit.Split(',');
return Tuple.Create(split[0],split[1]);
}
有了一个元组,你可以使用:
var x = SplitIntoVars(arr);
// you can access the items like this: x.Item1 or x.Item2 (and x.Item3 etc.)
您还可以创建一个元组使用Tuple<string,int>
等。
另外...我真的不喜欢输出参数,所以你模仿使用 Tuple(显然,也是不同类型)返回多个值。 这样的:
public void SplitIntoVariables(string input, out a, out b, out c)
{
string pieces[] = input.Split(',');
a = pieces[0];
b = pieces[1];
c = pieces[2];
}
变成这样:
public Tuple<string,string,string> SplitIntoVariables(string[] input)
{
string pieces[] = input.Split(',');
return Tuple.Create(pieces[0],pieces[1],pieces[2]);
}
其他(更有想象力的)的选项,可以创建一个拥有自己的价值(以ViewBag一个类似于在ASP.NET MVC)的ExpandoObject(动态)
不是一个关于如何用C#做的答案,但是F#可以完成你想做的事情:'let [|一个; b; c |] =“1,2,3”.Split(',')' – 2011-03-10 23:31:18
F#很棒。我希望它在商业环境中更受欢迎。 – 2011-03-11 02:02:49