C# 在c中读取13位控制数字中的前3个数字#

C# 在c中读取13位控制数字中的前3个数字#,c#,winforms,sql-server-2008,C#,Winforms,Sql Server 2008,我有一个程序生成一个控制号。控制编号包含13个编号。前3个数字是生成的,如果用户是海事教育,它是100,但是如果用户是普通教育,它是101,那么下面5个数字是随机数。最后5位是用户的ID号 代码: Random rand = new Random(); int startingDigits; if (CmbEducation.SelectedItem.Equals("Maritime Education")) {

我有一个程序生成一个控制号。控制编号包含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个数字呢?

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

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

现在还不清楚“在文本框中阅读”是什么意思。您想从文本框中读取它们吗?然后尝试:

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?
}

编辑:
文本框也是如此。只需使用文本框的Text属性。

现在,我在另一个表单中,我只是将登录页面中的文本复制到另一个表单中的文本框中,其中密码是控件号。那么如何读取文本框中的前3个数字呢?请使用文本框的text属性。Text=controlNumberPrefix<代码>非发票成员“string.Length”不能像方法一样使用。子字符串有错误。为什么?@LyndonBrozTonelete您是否在代码中的某个地方使用myVariable.Length()而不是myVarbiable.Length?如果是这样,请删除paradensis,因为长度是一个属性。
索引和长度必须引用字符串中的位置。参数名称:length
现在,我在另一个表单中,我刚刚将密码为控制号的登录页面中的文本复制到另一个表单中的文本框中。那么,我如何读取文本框中的前3个数字呢?我已经更新了我的帖子,尽管我仍然不能100%确定我是否正确理解了你的问题…好吧,忽略我发布的上面的代码,我想读取我的TxtControlNum.Text中的控制编号中的前3个整数。。控制编号的示例为1011234522755。如果前3个数字是101,那么这是一个世代教育,但如果它是100,这是一个海洋教育。如果..else?
controlNumber
不是我的新格式,我如何将其放入代码中。如何执行此操作
var start=controlNumber.Substring(0,3)?哇。你原来的问题完全是误导。你必须找到一个足够宽的范围,使你的两个表单都能够共享该变量,然后在那里定义
controlNumber
,这样你就可以从一个表单中设置它的值,然后在另一个表单中读取它。你应该用我答案下评论中的信息编辑和更新这个问题;它目前根本没有明确说明您的问题是什么(变量范围)。
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