Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 名称为;svar“;在当前上下文中不存在_C# - Fatal编程技术网

C# 名称为;svar“;在当前上下文中不存在

C# 名称为;svar“;在当前上下文中不存在,c#,C#,我对编程非常陌生,我正在为我的编程课写一个简短的刽子手游戏,我有两个私人的空白,一个是当你在文本框中更改文本以获得正确答案时,另一个是当你猜测一个角色时。我需要将变量“svar”从第一个实例传输到另一个实例,当我尝试在第二个实例中使用变量“svar”时,我收到错误消息“名称“svar”在当前上下文中不存在” 您已将svar定义为方法中的变量,因此它在其他地方不可见(除非您将其作为方法参数传递)。而是将其定义为类中的字段 public partial class Form1 : Form

我对编程非常陌生,我正在为我的编程课写一个简短的刽子手游戏,我有两个私人的空白,一个是当你在文本框中更改文本以获得正确答案时,另一个是当你猜测一个角色时。我需要将变量“svar”从第一个实例传输到另一个实例,当我尝试在第二个实例中使用变量“svar”时,我收到错误消息“名称“svar”在当前上下文中不存在”


您已将
svar
定义为方法中的变量,因此它在其他地方不可见(除非您将其作为方法参数传递)。而是将其定义为类中的字段

public partial class Form1 : Form
    {      
        string svar;  // <----------- place here.  Now it is a 'field'

        public Form1()
        {
            InitializeComponent();
        }

        private void TbxSvar_TextChanged(object sender, EventArgs e)
        {
            if (tbxSvar.TextLength == 6)
            {
                pbxGubbe.Top = 6;
                tbxVisa.Text = "??????";
                tbxGissa.Enabled = true;
                svar = tbxSvar.Text;  // <---------- use svar here
                tbxSvar.Text = "";
            }
            else
            {

                tbxVisa.Text = "";
            }

        }

        private void TbxGissa_TextChanged(object sender, EventArgs e)
        {
            if (tbxGissa.Text == "") return;
            string gissning = tbxGissa.Text;
            int index = svar.indexOf(gissning); // <---------- ...and here

        }
    }
公共部分类表单1:表单
{      

string svar;//您应该了解字段:类似地,当您离开TXBGisa_TextChanged方法时,“int index”消失了。当我这样做时,svar变量被视为两个变量或其他什么,我使用断点查看if语句中的变量svar是否有值,它被分配了文本框的值,如expected但是当在第二个实例中调用变量时,该值为null,EDIT:Nevermind,我修复了它。谢谢
public partial class Form1 : Form
    {      
        string svar;  // <----------- place here.  Now it is a 'field'

        public Form1()
        {
            InitializeComponent();
        }

        private void TbxSvar_TextChanged(object sender, EventArgs e)
        {
            if (tbxSvar.TextLength == 6)
            {
                pbxGubbe.Top = 6;
                tbxVisa.Text = "??????";
                tbxGissa.Enabled = true;
                svar = tbxSvar.Text;  // <---------- use svar here
                tbxSvar.Text = "";
            }
            else
            {

                tbxVisa.Text = "";
            }

        }

        private void TbxGissa_TextChanged(object sender, EventArgs e)
        {
            if (tbxGissa.Text == "") return;
            string gissning = tbxGissa.Text;
            int index = svar.indexOf(gissning); // <---------- ...and here

        }
    }