Rat*_*tus 2 c# arrays variables methods tuples
参考方法WutHap(抱歉,我没有写注释),我需要同时返回 intagg和 int sub 才能获得Main 中的NumGenintagg和 sub上的方法。我知道您可以使用数组和元组,但我在使用时遇到了麻烦。如果您需要更多上下文,请询问需要澄清的内容。我很愚蠢,所以说它需要更多的上下文可能不会导致实际的澄清。是的,我知道代码很糟糕,但这不是重点。
class Program
{
static void Main(string[] args)
{
int agg = 50;
int sub = 50;
for (int i = 0; i < 100; i++)
{
WutHap(agg, sub);
}
int pop = sub + agg;
Console.WriteLine("Total aggs = " + agg);
Console.WriteLine("Total subs = " + sub);
Console.WriteLine("Total population = " + pop);
Console.ReadKey();
}
static string NumGen()
{
string[] pengs = new string[2]{"agg", "sub"};
Random numGen = new Random();
int mepi = numGen.Next(1, 2);
int mepi2 = numGen.Next(1, 2);
string pemi = pengs[mepi];
string pemi2 = pengs[mepi2];
string whoMet = pemi + ", " + pemi2;
return whoMet;
}
static int WutHap(int agg, int sub)
{
NumGen();
switch (NumGen())
{
case ("agg, agg"):
--agg;
--agg;
break;
case ("agg, sub"):
++agg;
++agg;
++agg;
--sub;
break;
case ("sub, agg"):
--sub;
++agg;
++agg;
++agg;
break;
case ("sub, sub"):
++sub;
++sub;
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用 C# 7 语法从方法返回多个值:
static void Main(string[] args)
{
var (a, b) = Foo();
}
private static (int, int) Foo()
{
return (1, 2);
}
Run Code Online (Sandbox Code Playgroud)
更新:
使用Tuple<int, int>:
static void Main(string[] args)
{
var (a, b) = GetMultipleValue();
Tuple<int, int> tuple = GetMultipleValue();
}
public static Tuple<int, int> GetMultipleValue()
{
return Tuple.Create(1, 2);
}
Run Code Online (Sandbox Code Playgroud)