在 c# 中读取 13 位控制数字中的前 3 个数字
本文关键字:数字 读取 控制 | 更新日期: 2023-09-27 18:36:39
我有一个生成控制编号的程序。控制编号包含 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;
}
我的问题是,我想做一个如果。否则条件。但是我想读取控制编号的前 3 个数字该怎么做?谢谢:)
编辑:
我现在正在使用另一种形式的控制号码作为密码。所以我想阅读前 3 个数字,以获得用户是海洋教育还是通识教育。现在,我在另一种形式中,我只是将密码是控制号的登录页面中的文本复制到另一种形式的文本框中。那么如何读取文本框中的前 3 个数字呢?
不确定我是否正确阅读了您的问题,但是如果您只需要阅读前三位数字,只需执行以下操作:
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?
}
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 属性即可。