将文本框字符串拆分为数组并按数组索引 C# 显示在标签中

我被困在我的介绍性编程课程的作业中,无法通过我的老师的建议来生成任何工作代码。


作业: 用户将输入一个以空格分隔的全名。当按下 btnGetName 时,您的程序将分析文本框并提取名字并将其放在名字标签中,中间名放在中间名标签中,最后将姓氏放入姓氏标签(假设它们都存在) .


如果只输入了一个名字 (Smith),则假定它是姓氏并将名字和中间名留空


如果有两个条目 (Joe Smith) 假设它是第一个和最后一个。


如果文本框中有三个条目,则假定这包括名字、中间名和姓氏。


如果没有输入,则将所有标签留空。


如果超过三个条目会给用户一条错误消息,请擦除文本框并将光标放回文本框。


使用 if/then 或 try/catch(如有必要)防止发生错误。


让表格看起来有点专业。暗示:


将文本框拆分为一个数组。使用 arrayname.count 来确定有多少条目(数组中有多少项)。使用 if/then/else 来决定如何填充名称标签。这应该在您的按钮单击事件处理程序中使用少于 7 行的代码。


例子:


           if (myarray.count==1)

            {

                lblLast.text=myarray[0].ToString();

                //I would wipe out the contents in the other labels here

            }

           else if(myarray.count==2)

            {


                ...


            }

我已经被困了几个小时 - 可能是因为我对其他事情感到沮丧,但我无法在我的标签中显示任何内容。在讲座中,教授分享了 Liststring... 作为他将字符串拆分为数组所需的格式。这就是我现在在 btnGetName 下的内容:


    private void btnGetName_Click(object sender, EventArgs e)

    {

        string txtFullName = "";

        List<string> namesArray = txtFullName.Split(' ').ToList();

        namesArray.Count();


        foreach (string name in namesArray)

        {

            if (namesArray.Count == 1)

            {

                lblLast.Text = namesArray[0].ToString();

            }

            else if (namesArray.Count == 2)

            {

                lblFirst.Text = namesArray[0].ToString();

                lblLast.Text = namesArray[1].ToString();

            }

            else if (namesArray.Count == 3)

            {

                lblFirst.Text = namesArray[0].ToString();

                lblMiddle.Text = namesArray[1].ToString();

                lblLast.Text = namesArray[2].ToString();

            }

        }


回首忆惘然
浏览 239回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP