不能在同一个文件夹中使用类

瑞奇

我刚刚开始学习 C# 和 Microsoft Visual Studio。我刚刚创建了一个 C# 控制台应用程序项目,它有一个 program.cs 文件。我修改了它的内容是这样的:

using System;

namespace Calculator
{
    class Calculator
    {
        public static double DoOperation(double num1, double num2, string op)
        {
            double result = double.NaN; // Default value is "not-a-number" which we use if an operation, such as division, could result in an error

            // Use a switch statement to do the math
            switch (op)
            {
                case "a":
                    result = num1 + num2;
                    break;
                case "s":
                    result = num1 - num2;
                    break;
                case "m":
                    result = num1 * num2;
                    break;
                case "d":
                    // Ask the user to enter a non-zero divisor
                    if (num2 != 0)
                    {
                        result = num1 / num2;
                    }
                    break;
                // Return text for an incorrect option entry
                default:
                    break;
            }
            return result;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
         //   NewClass obj = NewClass(); //this line is causing problem
            bool endApp = false;
            // Display title as the C# console calculator app
            Console.WriteLine("Console Calculator in C#\r");
            Console.WriteLine("------------------------\n");

            while (!endApp)
            {
                // Declare variables and set to empty
                string numInput1 = "";
                string numInput2 = "";
                double result = 0;

                // Ask the user to type the first number
                Console.Write("Type a number, and then press Enter: ");
                numInput1 = Console.ReadLine();

                double cleanNum1 = 0;
                while (!double.TryParse(numInput1, out cleanNum1))
                {
                    Console.Write("This is not valid input. Please enter an integer value: ");
                    numInput1 = Console.ReadLine();
                }

                // Ask the user to type the second number
                Console.Write("Type another number, and then press Enter: ");
                numInput2 = Console.ReadLine();

                double cleanNum2 = 0;
                while (!double.TryParse(numInput2, out cleanNum2))
                {
                    Console.Write("This is not valid input. Please enter an integer value: ");
                    numInput2 = Console.ReadLine();
                }

                // Ask the user to choose an operator
                Console.WriteLine("Choose an operator from the following list:");
                Console.WriteLine("\ta - Add");
                Console.WriteLine("\ts - Subtract");
                Console.WriteLine("\tm - Multiply");
                Console.WriteLine("\td - Divide");
                Console.Write("Your option? ");

                string op = Console.ReadLine();

                try
                {
                    result = Calculator.DoOperation(cleanNum1, cleanNum2, op);
                    if (double.IsNaN(result))
                    {
                        Console.WriteLine("This operation will result in a mathematical error.\n");
                    }
                    else Console.WriteLine("Your result: {0:0.##}\n", result);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Oh no! An exception occurred trying to do the math.\n - Details: " + e.Message);
                }

                Console.WriteLine("------------------------\n");

                // Wait for the user to respond before closing
                Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to continue: ");
                if (Console.ReadLine() == "n") endApp = true;

                Console.WriteLine("\n"); // Friendly linespacing
            }
            return;
        }
    }
}

现在,我想在此项目中添加另一个 C# 文件并在我的程序中使用该类,如下所示:

使用系统;

namespace Calculator
{
    public class NewClass
    {
        public NewClass()
        {
            Console.WriteLine("Hello World");
        }
    }
}

当我尝试在程序中使用 NewClass 时,它给出了一个错误。我已将其添加到 program.cs 所在的同一文件夹中,但仍未修复。我从这个链接得到了这个解决方案

所以我的主要问题是:

  1. 如何在c#中使用同一文件夹中的其他类(就像在java中一样,如果两个程序在同一个文件夹中,则认为它们在同一个包中,无需任何import语句即可使用。不能这样做在这种情况下?)
  2. 不过,这与当前主题无关,但是我们可以在 Microsoft Visual Studio 中创建一个项目,该项目只是一个包含一些 C# 文件的文件夹吗?(更具体地说,我只想像在普通 IDE 中一样编写 C# 代码,我该怎么做?在不创建任何项目的情况下做到这一点?)

编辑:我应该发布确切的错误..我的错。因此,当我尝试运行该程序时,它显示:

1>------ Build started: Project: ConsoleApp1, Configuration: Debug|AnyCPU ------
C:\Users\<SystemName>\Source\Repos\<UserName>\C-sharp-Practice-Codes\ConsoleApp1\ConsoleApp1\Program.cs(42,28,42,36): error CS1955: Non-invocable member 'NewClass' cannot be used like a method.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

为什么 NewClass() 不可调用?

用户-7391153

如何在c#中使用同一文件夹中的其他类(就像在java中一样,如果两个程序在同一个文件夹中,则认为它们在同一个包中,无需任何import语句即可使用。不能这样做在这种情况下?)

你只是错过了new接线员。你的行NewClass应该是这样的:

NewClass obj = new NewClass();

new新的操作员文档页面中阅读有关操作员的更多信息

不过,这与当前主题无关,但是我们可以在 Microsoft Visual Studio 中创建一个项目,该项目只是一个包含一些 C# 文件的文件夹吗?(更具体地说,我只想像在普通 IDE 中一样编写 C# 代码,我该怎么做?在不创建任何项目的情况下做到这一点?)

你可以通过两种方式做到这一点:

  1. 通过在新项目窗口创建器中创建空白解决方案(查看更多相关信息);
  2. 通过打开任何目录,例如在编程编辑器中 - 您可以通过解决方案资源管理器轻松创建新文件(查看更多相关信息)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel-在同一个文件夹中使用一个类

来自分类Dev

如何在同一个项目/文件夹中使用两个gruntfile?

来自分类Dev

日期时间和时间不能在同一个程序中使用?

来自分类Dev

Laravel:我不能在同一个函数中使用请求对象两次

来自分类Dev

两个文件夹可以共享同一个localStorage吗?

来自分类Dev

删除不同目录下的文件【不是同一个文件夹,缩短代码】

来自分类Dev

将文件上传到 Django 中的同一个随机文件夹

来自分类Dev

laravel和wordpress在同一个域中(laravel在子文件夹中)

来自分类Dev

同一个Docker Compose服务在多个文件夹中

来自分类Dev

为什么Linux不在同一个文件夹中搜索共享库

来自分类Dev

创建同一个重复文件夹的不同分支

来自分类Dev

为什么我不能在git中提交一个空文件夹?

来自分类Dev

如何在同一个类的Perl中使用类的实例

来自分类Dev

htaccess仅在一个文件夹中使用

来自分类Dev

为什么我不能在 Javascript 中的同一个类函数中调用一个类函数?

来自分类Dev

C#应用程序在同一个文件夹中时找不到.dll参考文件

来自分类Dev

可以在同一个类中使用OneToOne逆属性吗?怎么样?

来自分类Dev

如何在同一个类中使用重载的运算符[]?

来自分类Dev

当不在对象上下文中时,在同一个类中使用$ this

来自分类Dev

封装-在同一个类中使用吸气剂?

来自分类Dev

在同一个类的实例方法中使用静态方法

来自分类Dev

在同一个HTML文件中使用两个画布要素

来自分类Dev

npm将所有依赖项和子依赖项放入同一个文件夹

来自分类Dev

Dropbox和Google云端硬盘同时同步同一个文件夹,可以吗?

来自分类Dev

我可以在同一个virtualenv文件夹中有多个django项目吗

来自分类Dev

来自 HTML 的链接将转到根目录而不是同一个文件夹?(本地主机)

来自分类Dev

如何将文件夹从一个 EBS 卷同步到同一个 EC2 的另一个卷?

来自分类Dev

Django,jQuery。我不能在同一个div之后多次加载()

来自分类Dev

使用同一个类反序列化不同的json文件

Related 相关文章

  1. 1

    Laravel-在同一个文件夹中使用一个类

  2. 2

    如何在同一个项目/文件夹中使用两个gruntfile?

  3. 3

    日期时间和时间不能在同一个程序中使用?

  4. 4

    Laravel:我不能在同一个函数中使用请求对象两次

  5. 5

    两个文件夹可以共享同一个localStorage吗?

  6. 6

    删除不同目录下的文件【不是同一个文件夹,缩短代码】

  7. 7

    将文件上传到 Django 中的同一个随机文件夹

  8. 8

    laravel和wordpress在同一个域中(laravel在子文件夹中)

  9. 9

    同一个Docker Compose服务在多个文件夹中

  10. 10

    为什么Linux不在同一个文件夹中搜索共享库

  11. 11

    创建同一个重复文件夹的不同分支

  12. 12

    为什么我不能在git中提交一个空文件夹?

  13. 13

    如何在同一个类的Perl中使用类的实例

  14. 14

    htaccess仅在一个文件夹中使用

  15. 15

    为什么我不能在 Javascript 中的同一个类函数中调用一个类函数?

  16. 16

    C#应用程序在同一个文件夹中时找不到.dll参考文件

  17. 17

    可以在同一个类中使用OneToOne逆属性吗?怎么样?

  18. 18

    如何在同一个类中使用重载的运算符[]?

  19. 19

    当不在对象上下文中时,在同一个类中使用$ this

  20. 20

    封装-在同一个类中使用吸气剂?

  21. 21

    在同一个类的实例方法中使用静态方法

  22. 22

    在同一个HTML文件中使用两个画布要素

  23. 23

    npm将所有依赖项和子依赖项放入同一个文件夹

  24. 24

    Dropbox和Google云端硬盘同时同步同一个文件夹,可以吗?

  25. 25

    我可以在同一个virtualenv文件夹中有多个django项目吗

  26. 26

    来自 HTML 的链接将转到根目录而不是同一个文件夹?(本地主机)

  27. 27

    如何将文件夹从一个 EBS 卷同步到同一个 EC2 的另一个卷?

  28. 28

    Django,jQuery。我不能在同一个div之后多次加载()

  29. 29

    使用同一个类反序列化不同的json文件

热门标签

归档