使用来自单独 类 方法的值
Using values from separate classes method
我创建了一个粗略的骨架项目,但由于我的知识有限,我正在尝试做一些我不确定的事情..
我正在尝试使用来自单独 class 的方法来基本上进行我的计算,为我的 main class 存储(使用 main class 只显示输出,而我的 num class存储和计算等)
目前,用户可以选择一个数字,它确实会存储到 double rad 中,但我不确定如何将其移至我的另一个 classes (num) 方法,称为 number。
string radIn = "";
double rad;
bool rslt = false;
while(rslt == false)
{
Console.WriteLine("Please enter a number");
radIn = Console.ReadLine();
result = double.TryParse(radIn, out rad);
if(rslt == false)
{
Console.Clear();
Console.WriteLine("Please enter a number only");
Console.ReadKey();
}
else
{
do
{
Console.WriteLine("(1)Your number");
Console.WriteLine("(2)Update number");
Console.WriteLine("(3)Calculate");
string userC = Console.ReadLine();
switch (userC) //==============Issue focused here===========
{
case "1":
//number user has chosen here, not sure how to grab it from my other class
break;
case "2":
//Updated user number output here
break;
case "3":
//Calculating method output appearing here
break;
default:
Console.Clear();
Console.WriteLine("Invalid Choice!");
break;
} //===========================================
Console.ReadLine();
}
while (true);
break;
}
在一个单独的 class 中,我有一个 num class 我正在尝试完成我的大部分工作:
class num
{
public int number()
{
//trying to store user picked number here
}
public void set()
{
//trying to do the required steps to changing and updating the users number here and storing
in the number method
}
public double calculation()
{
//calculation (number * 10) result supposed to be displayed when user selects 3
}
}
如果我的代码有点混乱,我深表歉意,我尝试了几次搜索,但我认为我无法准确地说出我要查找的内容。
如果您将 num class 的签名更改为类似于下面的代码,您将可以在 Main.cs[=12 中引用它=]
public static class num
{
public static int number() { }
public static void set() { }
public static double calculation() { }
}
然后在 Main.cs 中,以下内容应该有效。
num.set()
num.number()
num.calculation()
关键字 static 理解起来很重要。
你快到了。需要修改几个地方就完成了。
//Change the class slightly as to store a value and calculate
class num
{
public double number { get; set; }
public double calculation()
{
//calculation (number * 10) result supposed to be displayed when user selects 3
return number * 10;
}
}
在 while 循环之外创建一个新实例
var enteredNumber = new num();
double rad;
在 switch 语句中使用变量
switch (userC) //==============Issue focused here===========
{
case "1":
enteredNumber.number = rad;
break;
case "2":
//Updated user number output here
Console.WriteLine("Value is :{}", enteredNumber.number);
break;
case "3":
//Calculating method output appearing here
Console.WriteLine("Value is :{}", enteredNumber.calculation());
break;
default:
Console.Clear();
Console.WriteLine("Invalid Choice!");
break;
}
我创建了一个粗略的骨架项目,但由于我的知识有限,我正在尝试做一些我不确定的事情..
我正在尝试使用来自单独 class 的方法来基本上进行我的计算,为我的 main class 存储(使用 main class 只显示输出,而我的 num class存储和计算等)
目前,用户可以选择一个数字,它确实会存储到 double rad 中,但我不确定如何将其移至我的另一个 classes (num) 方法,称为 number。
string radIn = "";
double rad;
bool rslt = false;
while(rslt == false)
{
Console.WriteLine("Please enter a number");
radIn = Console.ReadLine();
result = double.TryParse(radIn, out rad);
if(rslt == false)
{
Console.Clear();
Console.WriteLine("Please enter a number only");
Console.ReadKey();
}
else
{
do
{
Console.WriteLine("(1)Your number");
Console.WriteLine("(2)Update number");
Console.WriteLine("(3)Calculate");
string userC = Console.ReadLine();
switch (userC) //==============Issue focused here===========
{
case "1":
//number user has chosen here, not sure how to grab it from my other class
break;
case "2":
//Updated user number output here
break;
case "3":
//Calculating method output appearing here
break;
default:
Console.Clear();
Console.WriteLine("Invalid Choice!");
break;
} //===========================================
Console.ReadLine();
}
while (true);
break;
}
在一个单独的 class 中,我有一个 num class 我正在尝试完成我的大部分工作:
class num
{
public int number()
{
//trying to store user picked number here
}
public void set()
{
//trying to do the required steps to changing and updating the users number here and storing
in the number method
}
public double calculation()
{
//calculation (number * 10) result supposed to be displayed when user selects 3
}
}
如果我的代码有点混乱,我深表歉意,我尝试了几次搜索,但我认为我无法准确地说出我要查找的内容。
如果您将 num class 的签名更改为类似于下面的代码,您将可以在 Main.cs[=12 中引用它=]
public static class num
{
public static int number() { }
public static void set() { }
public static double calculation() { }
}
然后在 Main.cs 中,以下内容应该有效。
num.set()
num.number()
num.calculation()
关键字 static 理解起来很重要。
你快到了。需要修改几个地方就完成了。
//Change the class slightly as to store a value and calculate
class num
{
public double number { get; set; }
public double calculation()
{
//calculation (number * 10) result supposed to be displayed when user selects 3
return number * 10;
}
}
在 while 循环之外创建一个新实例
var enteredNumber = new num();
double rad;
在 switch 语句中使用变量
switch (userC) //==============Issue focused here===========
{
case "1":
enteredNumber.number = rad;
break;
case "2":
//Updated user number output here
Console.WriteLine("Value is :{}", enteredNumber.number);
break;
case "3":
//Calculating method output appearing here
Console.WriteLine("Value is :{}", enteredNumber.calculation());
break;
default:
Console.Clear();
Console.WriteLine("Invalid Choice!");
break;
}