Getters和Setters未将变量保存到输出



我已经花了几个小时的时间来修复这段代码,但我似乎无法理解这个问题,我将一个带有get和set的变量存储在一个包含case的公共文件中。我想做的是使用下面的菜单来存储变量。

{

Volume vol = new Volume();


Console.WriteLine("n                                                   ---------------n" +
"                                             |>>>>> Control Panel <<<<<|n" +
"                                                   ---------------" +
"nn                                    |===========================================|n" +
"n                                                    Press key...n" +
"n                                             [Q] to Change M Main 1 Volumen" +
"                                             [W] to Change M Main 2 Volumen" +
"                                             [E] to Change Host Volumen" +
"                                             [R] to Change Guest Volumen" +
"                                             [T] to Change Speaker Volumen" +
"                                             [Y] to Change Lightsn" +
"                                             [G] to exitn" +
"n                                    |===========================================|");
ConsoleKeyInfo inputuser = Console.ReadKey(true);
switch (inputuser.Key)
{
case ConsoleKey.Q:
{
try
{

Console.WriteLine("| | |Input Volume percentege from 0-100 %| | |");
vol.MainMic1 = int.Parse(Console.ReadLine());
if (vol.MainMic1 > 100 || vol.MainMic1 < 0)
{
Console.WriteLine("Invalid Number");
Console.ReadKey();
}
else if (vol.MainMic1 == 0 || vol.MainMic1 <= 100)

Console.WriteLine(vol.MainMic1);
Console.ReadKey(); ```

这将它设置在当前方法中,因为我尝试过它,但没有在我用来调用它的方法中,当我在控制台中调用它时,它返回其原始值或0

public void ShowVolume()
{
Volume voll = new Volume();
Console.Clear();
Console.WriteLine("|======     ======     ======     ======     ======     ======     ======|n" +
"n                  >>>>> Lights and Volume settings <<<<<n" +
"nMain 1(Peterson) Microphone currently at:       {0}%     volume.n" +
"Co-Speaker(Weiss) Microphone currently at:      {1}%     volume.n" +
"Host Microphone currently at:                   {2}%     volume.n" +
"Guest Microphone currently at:                  {3}%      volume.n" +
"Quad-Speakers currently at:                     {4}%     volume.n" +
"Lights are at:                                  {5}%     power.n" +
"n|======     ======     ======     ======     ======     ======     ======|", voll.MainMic1, voll.MainMic2, voll.MainMic3, voll.GuestMic, voll.QuadSpeaker, voll.Lighting);

Console.ReadKey();

我无法解决问题,我可以运行所有程序,但不能打印所要求的内容,这里是否存在某种我不理解的案例/方法堵塞?


here is class with get/set
public class Volume
{
private int o_mainmic1 = 50;
private int o_mainmic2 = 50;
private int o_mainmic3 = 50;
private int o_guestmic = 30;
private int o_quadspeaker = 30;
private int o_lighting = 30;
public int MainMic1
{
get
{
return o_mainmic1;
}
set
{
o_mainmic1 = value;
}
}

这里有一些Gyazo的照片,如果这对你有帮助的话,我很感激我在这里得到的任何帮助,提前谢谢。

https://gyazo.com/d241e1f8db821ba38415ecf1c57fb3f9

https://gyazo.com/35f31140568794aa41ee74c8ead2296a

https://gyazo.com/1359b4a291baa385b8dcee586a3b97ea

https://gyazo.com/1ce9e237fdd56a7f1a40dabd24c50b5a``

步骤1:使音量保持静态:

public static class Volume
{
private int o_mainmic1 = 50;
private int o_mainmic2 = 50;
private int o_mainmic3 = 50;
private int o_guestmic = 30;
private int o_quadspeaker = 30;
private int o_lighting = 30;
public int MainMic1
{
get
{
return o_mainmic1;
}
set
{
o_mainmic1 = value;
}
}

步骤2:将每个提到的volvoll重命名为Volume,并且不初始化Volume类。【第一个代码样本】

{
Volume vol = new Volume(); // Delete this, this is not needed anymore since Volume is a static class.
/* I skipped over the Console.WriteLine stuff, though you need it.
*/
ConsoleKeyInfo inputuser = Console.ReadKey(true);
switch (inputuser.Key)
{
case ConsoleKey.Q:
{
try
{

Console.WriteLine("| | |Input Volume percentege from 0-100 %| | |");
Volume.MainMic1 = int.Parse(Console.ReadLine());
if (Volume.MainMic1 > 100 || Volume.MainMic1 < 0)
{
Console.WriteLine("Invalid Number");
Console.ReadKey();
}
else if (Volume.MainMic1 == 0 || Volume.MainMic1 <= 100)
{
Console.WriteLine(vol.MainMic1);
Console.ReadKey();
}

【第二个代码样本】

public void ShowVolume()
{
Volume voll = new Volume(); //Again, delete this.
Console.Clear();
Console.WriteLine("|======     ======     ======     ======     ======     ======     ======|n" +
"n                  >>>>> Lights and Volume settings <<<<<n" +
"nMain 1(Peterson) Microphone currently at:       {0}%     volume.n" +
"Co-Speaker(Weiss) Microphone currently at:      {1}%     volume.n" +
"Host Microphone currently at:                   {2}%     volume.n" +
"Guest Microphone currently at:                  {3}%      volume.n" +
"Quad-Speakers currently at:                     {4}%     volume.n" +
"Lights are at:                                  {5}%     power.n" +
"n|======     ======     ======     ======     ======     ======     ======|", Volume.MainMic1, Volume.MainMic2, Volume.MainMic3, Volume.GuestMic, Volume.QuadSpeaker, Volume.Lighting);

Console.ReadKey();

最新更新