C# 在其他方法中调用实例值
我不知道如何用另一种方法访问我的实例。我有这套代码C# 在其他方法中调用实例值,c#,methods,C#,Methods,我不知道如何用另一种方法访问我的实例。我有这套代码 Card rorbcard = new Card(); Deck deck = new Deck(); deck.Shuffle(); rorbcard = deck.TakeCard(); Start0: Console.Clear(); Console.WriteLine("Allright lets play! Red or black?");
Card rorbcard = new Card();
Deck deck = new Deck();
deck.Shuffle();
rorbcard = deck.TakeCard();
Start0:
Console.Clear();
Console.WriteLine("Allright lets play! Red or black?");
string userValue0 = Console.ReadLine();
switch (userValue0.ToLower())
{
case "red":
{
if (rorbcard.Suit.Equals(Suit.Diamonds))
{
Console.WriteLine("{0},\n Correct give 2 drinks",
rorbcard.ToString());
Thread.Sleep(2000);
}
else if (rorbcard.Suit.Equals(Suit.Hearts))
{
Console.WriteLine("{0},\n Correct give 2 drinks",
rorbcard.ToString());
Thread.Sleep(2000);
}
else
{
Console.WriteLine("{0},\n Wrong sucka take 2 drinks",
rorbcard.ToString());
Thread.Sleep(2000);
}
}
我试图在另一个方法中使用rorbcard.ToString(),但我不知道如何引用它。这是另一种方法
public void HighLow()
{
//highlow part of the game
Deck deck = new Deck();
deck.Shuffle();
Card highLow = new Card();
highLow = deck.TakeCard();
Start1:
Console.Clear();
Console.WriteLine("Your Hand:");
Grid.WriteAt(rorbcard.ToString(), 0, 1);
Console.WriteLine("\n\nDo you think that the next card will higher,lower,\n or
equal to the {0}. Enter high, low, or equal\n", rorbcard);
string uservalue1 = Console.ReadLine();
switch (uservalue1.ToLower())
{
case "high":
if (highLow.CardNumber > rorbcard.CardNumber) <-----Issue
{
Console.WriteLine("{0},\n Correct give 4 drinks",
highLow.ToString());
Thread.Sleep(2000);
}
else
{
Console.WriteLine("{0},\n Wrong drink 4\n", highLow.ToString());
Thread.Sleep(2000);
}
public void HighLow()
{
//游戏的高低部分
甲板=新甲板();
洗牌();
卡片高低=新卡片();
highLow=deck.TakeCard();
Start1:
Console.Clear();
控制台。WriteLine(“你的手:”);
WriteAt(rorbcard.ToString(),0,1);
Console.WriteLine(“\n\n您认为下一张卡会更高、更低还是更高?”
等于{0}。输入高、低或相等值(rorbcard);
字符串uservalue1=Console.ReadLine();
开关(uservalue1.ToLower())
{
案例“高”:
如果(highLow.cardname>rorbcard.cardname)您可以执行以下任一操作
a、 作为参数传递给HighLow()
like
public void HighLow(string rorbcard)
b、 创建一个类级变量。为其赋值并在HighLow()中使用该值
class MyClass
{
private string rorbCardClassLevel;
private void MyrorbCardMethod
{
//Other code lines.
//Inside case statement
rorbCardClassLevel = rorbcard.ToString();
}
private void HighLow()
{
//Use rorbCardClassLevel here.
}
}
我所需要做的就是将实例放在方法外部和类内部。Duh如何创建类级变量?如何分配rorbcard=deck.TakeCard();?如果在HighLow()中使用rorbCardClassLevel时这样做方法它不会有RoBoCK的任何功能。就像我不能把.CalDeNo.或者.Too.在一个侧面的注释调用谢谢你帮助你基本上遵循Nikhil的建议(你创建了私有变量),你应该考虑把他的答案标记为接受的。