![](/img/trans.png)
[英]C# console application - commission calculator - how to use method within method
[英]C# console application - commission calculator - how to pass variables into Main()
我不知道如何将总计,销售和通讯传递到Main()中。
有人知道如何将这些变量放入Main并在其中显示(输出)它们的名称吗?
现在,我可以在calcComm中输出变量。
提前致谢
菲利浦
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication38
{
class Program
{
public static void getsales()
{
string inputsales;
double total = 0;
double sale = 0;
for (int salecount = 1; salecount <= 3; ++salecount)
{
Console.WriteLine("Enter sale: ");
inputsales = Console.ReadLine();
sale = Convert.ToDouble(inputsales);
total = total + sale;
}
calcComm(total);
}
public static void calcComm(double total)
{
double comm = 0;
comm = total * 0.2;
Console.WriteLine(comm);
}
public static void Main ()
{
Console.WriteLine(" Sunshine Hot Tubs \n Sales Commissions Report\n");
char Letter;
const string name1 = "Andreas";
const string name2 = "Brittany";
const string name3 = "Eric";
string inputLetter;
string name;
Console.WriteLine("Please enter intial or type 'z' to quit");
inputLetter = Console.ReadLine();
Letter = Convert.ToChar(inputLetter);
while (Letter != 'z')
{
if (Letter == 'a')
{
name = name1;
getsales();
}
else if (Letter == 'b')
{
name = name2;
getsales();
}
else if (Letter == 'e')
{
name = name3;
getsales();
}
else
{
Console.WriteLine("Invalid entry try again");
}
Console.WriteLine("Please enter intial or type z to quit");
inputLetter = Console.ReadLine();
Letter = Convert.ToChar(inputLetter);
}
}
}
}
这给出了与命令行参数相对应的字符串数组。
Main(string [] args)
顺便说一句,在处理货币单位时,最好使用十进制而不是双精度。
您应该使用对象,然后可以将其公开。
class Sales
{
public double total;
public double sale;
public double comm;
...
public void CalcComm()
{
...
}
}
然后,您可以像这样引用它们:
Sales.total, Sales.sale
或者您可以将它们设置为全局,但是通常不建议这样做。
查看C#中的return
关键字; 让您的函数将相关数据返回给main
并加以利用。
考虑此示例,了解如何添加命令行参数。 如果需要以编程方式添加它们,请考虑编写包装程序并在其中启动Process。
using System;
class Program
{
static void Main(string[] args)
{
if (args == null)
{
Console.WriteLine("args is null"); // Check for null array
}
else
{
Console.Write("args length is ");
Console.WriteLine(args.Length); // Write array length
for (int i = 0; i < args.Length; i++) // Loop through array
{
string argument = args[i];
Console.Write("args index ");
Console.Write(i); // Write index
Console.Write(" is [");
Console.Write(argument); // Write string
Console.WriteLine("]");
}
}
Console.ReadLine();
}
}
或者,您可以建立一个包含这三个变量的数据传输对象实例化它,然后将其返回到您的主函数。
您还可以使用作为引用而不是按值传递的变量,并使用更新的参考值。 了解有关c#的按值传递类型和引用类型以及ref
关键字的信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.