从控制台应用程序获取输出数据

时间:2017-10-19 08:12:48

标签: c# .net dll

我是.NET编程的新手。我在创建这个项目时提到了一个教程。我有一个dll文件,它可以添加和减去函数:

ClassLibraryDll.dll

public class MathClass
{
    //method for Addition
    public static long Add(long num1, long num2)
    {
        return num1 + num2;
    }

    //method for Subtraction
    public static long Sub(long num1, long num2)
    {
        return num1 - num2;
    }
}

我有一个.NET控制台应用程序,它有一个程序类,它将引用dll文件,并将使用dll文件中的函数并接受两个整数作为输入,并根据所选的函数显示输出。

Program.cs的

using ClassLibraryDll;
class Program
{
    static void Main(string[] args)
    {

        MathClass.Add(10, 10);
        Console.WriteLine("Calling methods from ClassLibraryDLL:");

        if (args.Length != 2)
        {
            Console.WriteLine("Usage: TestCode <num1> <num2>");
            return;
        }

        long num1 = long.Parse(args[0]);
        long num2 = long.Parse(args[1]);

        long sum = MathClass.Add(num1, num2);
        long substract = MathClass.Sub(num1, num2);

        Console.WriteLine("{0} + {1} = {2}", num1, num2, sum);
        Console.WriteLine("{0} * {1} = {2}", num1, num2, substract);

     }
}

我想假设1和1的输出作为命令行args输入:

Calling methods from ClassLibraryDll:

1 + 1 = 2

1 - 1 = 0

我不确定如何从控制台应用程序获取输出。当我运行控制台应用程序时,我无法输入任何整数。

enter image description here

有人请帮助我。非常感谢你。

3 个答案:

答案 0 :(得分:0)

我认为您正在寻找Console.ReadLine方法,该方法等待用户输入一行文字。

命令行参数主要用于从另一个应用程序或快捷方式链接等自动启动应用程序时,我认为这种问题是错误的选择。

希望这有帮助!

答案 1 :(得分:0)

看起来你正试图在没有必要参数的情况下调用'可执行'文件。

要运行带参数的可执行文件,您需要执行以下操作。

1)启动命令提示符。

(Windows Key + R -> cmd) 

2)将当前目录更改为控制台应用程序项目的“调试”文件夹

 (Eg., cd C:\YourProjectFolder\bin\debug)

3)输入带参数的可执行文件名称

(Eg., C:\YourProjectFolder\bin\debug>YourExecutableName 1 1)

答案 2 :(得分:0)

如果您坚持从Visual Studio运行,则需要打开项目的属性,单击 Debug 选项卡并输入数字作为命令行参数。除非在程序结束时添加 Console.ReadLine(),否则您将无法看到结果。我经常这样做:

if (System.Diagnostics.Debugger.IsAttached)
{
    Console.Write("Press <Return>");
    Console.ReadLine();
}

如果从Visual Studio内部运行,if将等待回车,否则不等。