【问题标题】:Getting output data from console application从控制台应用程序获取输出数据
【发布时间】:2017-10-19 08:12:48
【问题描述】:

我是 .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 作为命令行参数输入,我想得到的输出:

Calling methods from ClassLibraryDll:

1 + 1 = 2

1 - 1 = 0

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

enter image description here

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

【问题讨论】:

  • 这与 ASP.net 无关。你是说.net (dotnet) 吗?
  • 您好,我已经编辑过了,谢谢。

标签: c# .net dll


【解决方案1】:

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

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

希望这会有所帮助!

【讨论】:

  • 本教程提到的另一件事:注意文件开头的 using 指令使您可以在编译时使用不合格的类名来引用 DLL 方法,如下所示:MathClass.Add(num1, num2);
  • 我是否必须使用那行代码才能获得输出。如果是,我应该把那行代码放在哪里?
  • 您要在哪里准确地“获取输出”?因为您实际上已经将输出存储在您拥有的 sumsubtract 变量中。您的程序似乎没有达到这一点,因为您没有传递任何命令行参数,所以您的 if (args.Length != 2) 意味着您在进行任何计算之前返回...
  • 我想从控制台获取输出。我希望用户能够将整数输入控制台,控制台将使用引用的 dll 文件中的函数显示结果。
  • 如果不可能,我至少想在 program.cs (这是控制台应用程序)中硬编码两个整数,当我运行控制台应用程序时,控制台会显示 @ 987654326@1 - 1 = 0
【解决方案2】:

看起来您正试图在没有所需参数的情况下调用运行“可执行”文件。

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

1) 启动命令提示符。

(Windows Key + R -> cmd) 

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

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

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

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

【讨论】:

  • 这个方法也可以,但是当我运行控制台应用程序时,我希望用户能够在那里输入整数。无论如何谢谢:)
【解决方案3】:

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

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

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

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 2010-09-16
    • 2017-11-26
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多