【发布时间】:2019-07-21 17:38:48
【问题描述】:
我正在尝试将字符串 classChoice 的值返回到一个单独的类,以便我可以返回该人的选择,我仍在学习 C# 并试图更好地理解这一点我读到它需要一个实例才能工作所以我创建了 1,无论哪种方式,我已经尝试了大约 8 种不同的方法,并且都不断返回错误,我做错了什么?
使它无效并失败,取出参数并尝试仅调用属性,在主cs中的cs文件之外尝试它仍然没有运气。
public class Selection
{
public string CharSel(string classChoice = "")
{
Console.WriteLine("Welcome to the world of Text Games!");
Console.WriteLine("To begin you must select a class!");
Console.WriteLine("Lucky for you there is only 1 class to choose from at this time :-) ");
Console.WriteLine("Select a Class:");
Console.WriteLine("1. Wizard");
Console.WriteLine("2. Nothing");
Console.WriteLine("3. Nothing");
Console.WriteLine("4. Nothing");
Console.WriteLine("5. Nothing");
Console.Write("Make your selection: ");
int choice = Convert.ToInt32(Console.ReadLine());
if (choice == 1)
{
classChoice = "Wizard";
Console.WriteLine("Congrats on selecting {0} now onto your adventure!", classChoice);
}
return classChoice;
}
}
public class Character
{
public static string Wizard(string name)
{
Selection s = new Selection();
string classChosen = s.CharSel().classChoice;
Console.WriteLine("Test, You are a {0}", classChosen);
name = "none yet";
return name;
}
}
控制台应该吐出来
Test, You are a Wizard
【问题讨论】:
-
尽我所能,
CharSel是一个方法而不是一个类,所以s.CharSel().classChoice;失败,因为方法没有属性(而且唯一可行的方法是它是静态的) .你想多了:CharSel返回一个代表选择的字符串,使用它。 -
你需要一个选择实例:Selection selection = new Selection(); string classChoice = selection.CharSel("abc");
-
@ŇɏssaPøngjǣrdenlarp 它作为一个静态也失败了我真的在敲我的头你可能是对的我想多了。
-
@jdweng isnt Selection s = new Selection();同样的事情?并且字符串类 Chosen 是 s.CharSel().classChoice 不应该返回之前选择的选项吗?
-
你想多了:
CharSel返回一个代表选择的字符串,使用它。