我有一个生成控制号的程序。控制号码包含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个数字?
答案 0 :(得分: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?
}
答案 1 :(得分: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属性即可。