我有一个生成控制号的程序。控制编号包含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个数字呢?
发布于 2013-10-24 19:43:58
我不确定我是否正确理解了您的问题,但如果您只需要读取前三位数,请执行以下操作:
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-24 19:45:00
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编辑:和textbox是一样的。只需使用textbox的Text属性即可。
https://stackoverflow.com/questions/19564872
复制相似问题