0

我有一个生成控制号的程序。控制号包含 13 个数字。如果用户是航海教育,则生成前3个数字,为​​100,但如果用户是普通教育,则为101,则后5个数字为随机数。然后最后5位是用户的ID号。

代码 :

    Random rand = new Random();
            int startingDigits;
            if (CmbEducation.SelectedItem.Equals("Maritime Education"))
            {
                startingDigits = 100;
                string IdNumber = TxtIDnum.Text;
                string controlNumber = string.Format("{0}{1}{2}",
                    startingDigits, rand.Next(10000, 99999).ToString(), IdNumber);
                TxtControlNum.Text = controlNumber;
            }
            else if (CmbEducation.SelectedItem.Equals("General Education"))
            {
                startingDigits = 101;
                string IdNumber = TxtIDnum.Text;
                string controlNumber = string.Format("{0}{1}{2}",
                    startingDigits, rand.Next(10000, 99999).ToString(), IdNumber);
                TxtControlNum.Text = controlNumber;
            }

我的问题是,我想做一个 if..else 条件。但我想读取控制号的前 3 个数字,我该怎么做?谢谢 :)

编辑:

我现在使用另一种形式的控制号作为密码。所以我想阅读前 3 个数字来了解用户是海洋教育还是普通教育。现在,我处于另一种形式,我只是将密码是控制号的登录页面中的文本复制到另一种形式的文本框中。那么我如何读取文本框中的前 3 个数字?

4

2 回答 2

0

不确定我是否正确阅读了您的问题,但如果您只需要阅读前三位数字,请执行以下操作:

var start = new String(controlNumber.Take(3).ToArray());

或者

var start = controlNumber.Substring(0,3);

目前尚不清楚“在文本框中阅读”是什么意思。你想文本框中阅读它们吗?然后尝试:

TextboxName.Text.Substring(0,3);

如果要将它们放在文本框中,请使用:

TextboxName.Text = controlNumber.Substring(0,3);

更新:我会再试一次。这应该是不言自明的,假设你start有如上:

if (start.Equals("100"))
{
    // Do something
}
else if (start.Equals("101"))
{
    // Do something else
}
else
{
    // ...take a nap?
}
于 2013-10-24T11:43:58.327 回答
0
       var controlNumberPrefix = myTextBox.Text.Substring(0, 3);

        switch (controlNumberPrefix)
        {
            case "100":/* Maritime education - do something */ ; break;
            case "101":/* Gen education - do something */ ; break;
        }

或者

        var controlNumberPrefix = myTextBox.Text.Substring(0, 3);

        if(controlNumberPrefix == "100")
            // Do something
        else if (controlNumberPrefix =="101")
            // Do something

编辑:它与文本框相同。只需使用文本框的 Text 属性。

于 2013-10-24T11:45:00.320 回答