gpt4 book ai didi

c# - C# 返回问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:33:04 25 4
gpt4 key购买 nike

因为问了我的last question ,我更改了我的代码以使用 return。我总是遇到 return 的问题:我知道我应该使用 return (我在下面的代码中评论)但我不知道我应该如何定义它才能工作?感谢您的帮助。

public double bigzarb(int u, int v)
{
double n;
int x=0;
int y;
int w=0;
int z;
string[] i = textBox7.Text.Split(',');
int[] nums = new int[i.Length];
for (int counter = 0; counter < i.Length; counter++)
{
nums[counter] = Convert.ToInt32(i[counter]);
}

u = nums[0];
double firstdigits =Math.Floor(Math.Log10(u) + 1);
v = nums[1];
double seconddigits = Math.Floor(Math.Log10(v) + 1);
if (firstdigits >= seconddigits)
{
n = firstdigits;
}
else
{
n = seconddigits;
}
if (u == 0 || v == 0)
{
MessageBox.Show("the Multiply is 0");
}
string threshold = textBox9.Text;
int intthreshold = Convert.ToInt32(threshold);
int intn = Convert.ToInt32(n);
if (intn <= intthreshold)
{
double uv = u * v;
string struv = uv.ToString();
MessageBox.Show(struv);
///i know here should be a return but i dont know how to define it to work
}
else
{
int m = Convert.ToInt32(Math.Floor(n / 2));

x = u % 10 ^ m;
y = u / 10 ^ m;
w = v % 10 ^ m;
z = v / 10 ^ m;

return bigzarb(x, w) *Math.Pow(10,m) +(bigzarb(x,w)+bigzarb(w,y))*Math.Pow(10,m) +bigzarb(y,z);
}
}

最佳答案

arash,你的问题不在于返回,你的问题是 bigzarb() 被声明为 void,这意味着它没有返回值,但你在最后一行中将它用作 bigzarb(x,w) * .... 这会给你一个错误。此外,由于您将 bigzarb() 声明为 void,因此您无法在其中返回值。另外 ^ 并不意味着 .net 中的强大功能,您应该改用 Math.Power

编辑:您应该将方法从 void bigzarb() 更改为 double bigzarb() 并将 ^ 替换为 Math.Power 并重试以查看它是否有效。

上次编辑:将您的方法返回类型从 int 更改为 double,并将最后一行更改为:

return bigzarb(x, w) * Math.Pow(Convert.ToDouble(10), Convert.ToDouble(m)) + (bigzarb(x, w) + bigzarb(w, y)) * Math.Pow(Convert.ToDouble(10), Convert.ToDouble(m)) + bigzarb(y, z);

关于c# - C# 返回问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4488044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com