Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.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# 无法隐式转换类型';字符串';至';int';其中输入可以是数字或字母数字。_C#_Maskedtextbox - Fatal编程技术网

C# 无法隐式转换类型';字符串';至';int';其中输入可以是数字或字母数字。

C# 无法隐式转换类型';字符串';至';int';其中输入可以是数字或字母数字。,c#,maskedtextbox,C#,Maskedtextbox,我试图制作一个已经设置了部分值的屏蔽文本框,然后用户需要再输入4位数字,然后允许它发送出去。我很难解释,但以下是它目前的样子,以供参考: private void maskedTextBox1_KeyDown(object sender, KeyEventArgs e) { if(e.KeyCode == Keys.Enter && maskedTextBox1.Text.Length == ("007744D4 0131").Length + 4)

我试图制作一个已经设置了部分值的屏蔽文本框,然后用户需要再输入4位数字,然后允许它发送出去。我很难解释,但以下是它目前的样子,以供参考:

private void maskedTextBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if(e.KeyCode == Keys.Enter && maskedTextBox1.Text.Length == ("007744D4 0131").Length + 4)
        {
            NCInterface.ConstCodeAdd(codes[maskedTextBox1.Text], true);
        }
    }

现在,它有NCInterface的最后一部分是它被发送到PS3控制台的地方,我需要知道如何确保
maskedTextBox1.Text
正确转换。maskedTextBox需要能够接受数字和字母。我没有什么可与之相比的。。但这正是它的来源。但它只是说它不能将类型字符串转换为int。因此,如果有人能帮助我,我将不胜感激。

基于您的错误,您可以这样做:

NCInterface.ConstCodeAdd(int.Parse(codes[maskedTextBox1.Text]), true);

您需要做的是使用
TryParse

string testString = maskedTextBox1.Text;
int numberTest;
if(int.TryParse(testString, out numberTest)
{
      NCInterface.ConstCodeAdd(numberTest, true); 
}

你是真正的C#开发者吗?很久没有了。把Int32.Parse放进去的问题是什么(我完全应该在OP中提到这一点。maskedtextbox1的条目可以包含数字和字母。也许你应该提供
NCInterface.ConstCodeAdd
的签名,以及它应该如何处理此代码。你想发送的代码是否只有最后4位数字?在这种情况下,请使用
IndexOf
查找。)空格并从找到的索引+1到结尾创建一个子字符串。然后可以将该子字符串解析为
int
。不要忘记它周围的
try catch
。我想知道
007744D4 0131
是否应该是一个可能的值(请参见问题)当然,在这种情况下,
int.Parse
不会有帮助。但是,即使只输入有效的数字,
try-catch
也不会有什么坏处。;)您刚刚为许多PS3用户节省了一些心痛:)