举个简单的例子,现在你有两个label,在一个方法中都能取到,你是不是要写两次?
其实不用,有很多办法可以得到结果,比如返回一个数组,一个泛型,和其他的方法都可以得到
这里介绍的是用一个方法,写个out就可以得到,个人认为是比较简单的和实用的一种方法
一个方法返回两个值
protected
void
Page_Load(
object
sender, EventArgs e)
![asp.net C# 一个方法返回多个结果 asp.net C# 一个方法返回多个结果](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9pbWdzLzEvMy8zLzIvMzAvYTQxOTU0YTI3ZDZhZDk2ZmEyYzJjZjgxNmU2Nzc0NDguanBl.jpe?w=700&webp=1)
...
{
int a = 5;
int b = 3;
int c = 0;
int d = geta(a, b, out c);
int ee = c;
}
![asp.net C# 一个方法返回多个结果 asp.net C# 一个方法返回多个结果](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9pbWdzLzUvMS8wLzIvMTYvNjgxMDM1NWMyZjc4YzEyZTkxYjc5OTdhOGU4YzU4M2EuanBl.jpe?w=700&webp=1)
protected
int
geta(
int
x,
int
z,
out
int
y)
![asp.net C# 一个方法返回多个结果 asp.net C# 一个方法返回多个结果](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9pbWdzLzEvMy8zLzIvMzAvYTQxOTU0YTI3ZDZhZDk2ZmEyYzJjZjgxNmU2Nzc0NDguanBl.jpe?w=700&webp=1)
...
{
int allcal = 0;
y = 0;
for (int i = x; i >= 1; i--)
![asp.net C# 一个方法返回多个结果 asp.net C# 一个方法返回多个结果](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9pbWdzLzkvMi81LzUvMTgvMzdjOGJmNjhjZGMzY2M4MTc1OWMzNDE2MDc3NmJjNTMuanBl.jpe?w=700&webp=1)
...{
allcal += i;
if (i == z)
![asp.net C# 一个方法返回多个结果 asp.net C# 一个方法返回多个结果](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9pbWdzLzkvMi81LzUvMTgvMzdjOGJmNjhjZGMzY2M4MTc1OWMzNDE2MDc3NmJjNTMuanBl.jpe?w=700&webp=1)
...{
y = allcal;
}
}
return allcal;
}
上面的代码的执行的结果是d=15,e=12
是不是很简单?
同理,一个方法可以返回多个值
protected
void
Page_Load(
object
sender, EventArgs e)
![asp.net C# 一个方法返回多个结果 asp.net C# 一个方法返回多个结果](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9pbWdzLzEvMy8zLzIvMzAvYTQxOTU0YTI3ZDZhZDk2ZmEyYzJjZjgxNmU2Nzc0NDguanBl.jpe?w=700&webp=1)
...
{
int a = 5;
int b = 3;
int c = 0;
int d = 0;
int ee = getb(a, b, out c, out d);
int f = c;
int g = d;
}
![asp.net C# 一个方法返回多个结果 asp.net C# 一个方法返回多个结果](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9pbWdzLzUvMS8wLzIvMTYvNjgxMDM1NWMyZjc4YzEyZTkxYjc5OTdhOGU4YzU4M2EuanBl.jpe?w=700&webp=1)
protected
int
getb(
int
x,
int
z,
out
int
y1,
out
int
y2)
![asp.net C# 一个方法返回多个结果 asp.net C# 一个方法返回多个结果](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9pbWdzLzEvMy8zLzIvMzAvYTQxOTU0YTI3ZDZhZDk2ZmEyYzJjZjgxNmU2Nzc0NDguanBl.jpe?w=700&webp=1)
...
{
int allcal = 0;
y1 = 0;
y2 = 0;
for (int i = x; i >= 1; i--)
![asp.net C# 一个方法返回多个结果 asp.net C# 一个方法返回多个结果](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9pbWdzLzkvMi81LzUvMTgvMzdjOGJmNjhjZGMzY2M4MTc1OWMzNDE2MDc3NmJjNTMuanBl.jpe?w=700&webp=1)
...{
allcal += i;
if (i == z)
![asp.net C# 一个方法返回多个结果 asp.net C# 一个方法返回多个结果](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9pbWdzLzkvMi81LzUvMTgvMzdjOGJmNjhjZGMzY2M4MTc1OWMzNDE2MDc3NmJjNTMuanBl.jpe?w=700&webp=1)
...{
y1 = allcal;
}
if (i == (z - 1))
![asp.net C# 一个方法返回多个结果 asp.net C# 一个方法返回多个结果](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9pbWdzLzkvMi81LzUvMTgvMzdjOGJmNjhjZGMzY2M4MTc1OWMzNDE2MDc3NmJjNTMuanBl.jpe?w=700&webp=1)
...{
y2 = allcal;
}
}
return allcal;
}
上面的代码,结果ee=15,f=12,g=14
就这么简单