我刚刚开始学习 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>------ 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() 不可调用?
如何在c#中使用同一文件夹中的其他类(就像在java中一样,如果两个程序在同一个文件夹中,则认为它们在同一个包中,无需任何import语句即可使用。不能这样做在这种情况下?)
你只是错过了new
接线员。你的行NewClass
应该是这样的:
NewClass obj = new NewClass();
new
在新的操作员文档页面中阅读有关操作员的更多信息。
不过,这与当前主题无关,但是我们可以在 Microsoft Visual Studio 中创建一个项目,该项目只是一个包含一些 C# 文件的文件夹吗?(更具体地说,我只想像在普通 IDE 中一样编写 C# 代码,我该怎么做?在不创建任何项目的情况下做到这一点?)
你可以通过两种方式做到这一点:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句