c#函数,在相同的代码中用不同的变量执行相同的代码
本文关键字:代码 变量 执行 函数 | 更新日期: 2023-09-27 18:07:31
我有一个算法,存储十进制数与int变量。我要对两个十进制数求和。所以我想知道我能避免重复转换代码,并使用函数与相同的转换代码,只有不同的存储变量。
namespace structSimple
{
class Program
{
struct decimalanBroj
{
public int cijeliDio;
public int decimalanDio;
public int potencija;
};
static decimalanBroj baze()
{
String number = "100";
int fromBase = 16;
int toBase = 10;
String result = Convert.ToString(Convert.ToInt32(number, fromBase), toBase);
}
static void Main(string[] args)
{
decimalanBroj d = new decimalanBroj();
decimalanBroj e = new decimalanBroj();
Console.WriteLine("Unesite cijeli dio broj: ");
d.cijeliDio = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Unesite decimalna dio broj: ");
d.decimalanDio = Convert.ToInt32(Console.ReadLine());
d.potencija = d.decimalanDio.ToString().Length;
Console.WriteLine( d.cijeliDio + (d.decimalanDio * (Math.Pow(10, -d.potencija))));
Console.WriteLine("Unesite cijeli dio broj2: ");
e.cijeliDio = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Unesite decimalna dio broj2: ");
e.decimalanDio = Convert.ToInt32(Console.ReadLine());
e.potencija = e.decimalanDio.ToString().Length;
Console.WriteLine("Zbroj dva broja: {0}",
(d.cijeliDio + (d.decimalanDio * (Math.Pow(10, -d.potencija)))) +
(e.cijeliDio + (e.decimalanDio * (Math.Pow(10, -e.potencija ) ))));
}
}
}
你可以把你的结构改成一个类,用一个方法来做你的计算:
public class decimalanBroj
{
public int cijeliDio;
public int decimalanDio;
public int potencija;
public int Calculate()
{
return cijeliDio + (decimalanDio * (Math.Pow(10, -potencija));
}
};
现在你可以在不复制代码的情况下进行计算了:
decimalanBroj d = new decimalanBroj();
...
d.Calculate();
Add Method for you:
static decimalanBroj GetDecimalanBroj()
{
var d = new decimalanBroj();
Console.WriteLine("Unesite cijeli dio broj: ");
d.cijeliDio = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Unesite decimalna dio broj: ");
d.decimalanDio = Convert.ToInt32(Console.ReadLine());
d.potencija = d.decimalanDio.ToString().Length;
Console.WriteLine(d.cijeliDio + (d.decimalanDio * (Math.Pow(10, -d.potencija))));
return d;
}
然后像这样调用Main()中的方法:
decimalanBroj d = GetDecimalanBroj();
decimalanBroj e = GetDecimalanBroj();