如何让我的If else循环遍历数组C#.NET

时间:2016-05-10 11:30:26

标签: c# .net arrays list loops

我得到了10个项目的清单。

当用户在“listText”中输入一个值时,将其与displayArraysString中的第一项进行比较。

让我们说它不是displayArraysString列表中的第一项,那么它什么都不做(因为我没有循环)

如何创建一个循环,它将检查我的列表并在找到后显示消息框。我尝试使用try catch循环,但这对我没用。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Arrays
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int[] numbers = new int[5];
        List<int> numbersList = new List<int> ();
        string text = System.IO.File.ReadAllText(@"C:Directory\list.txt");

        private void Form1_Load(object sender, EventArgs e)
        {
            //numbers[0] = 12;
            //numbers[1] = 10;
            //numbers[2] = 25;
            //numbers[3] = 10;
            //numbers[4] = 15;
            //numbersList.Add(23);
            //numbersList.Add(32);
            //numbersList.Add(35);
        }
        //Array Print
        private void button1_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < numbers.Length; i++)
            displayArrays.Text += numbers[i].ToString() + ", ";
        }
        //List Print
        private void button2_Click(object sender, EventArgs e)
         {
            for (int o = 0; o < text.Length; o++)
            {
                displayArraysString.Text += text[o].ToString();

                if (listText.Text == displayArraysString.Text)
                {
                    MessageBox.Show("Found a match!");

                }
                else
                {
                   //Something.
                }




            }
         }
    }
}

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

你在这里做错了, 作为你从字符串中的路径读取的文件,它将匹配listText的单个字符,因此永远不会匹配, 我用字符串数组做了,将文本数据转换为其中每个单词的字符串数组。如果您现在搜索,则会找到listText匹配。

试试这段代码:

     namespace Arrays
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int[] numbers = new int[5];
        List<int> numbersList = new List<int> ();
        string text = System.IO.File.ReadAllText.Text(@"C:\Directory\list.txt");
        string[] displayStringArrays = null; 

        private void Form1_Load(object sender, EventArgs e)
        {
            //numbers[0] = 12;
            //numbers[1] = 10;
            //numbers[2] = 25;
            //numbers[3] = 10;
            //numbers[4] = 15;
            //numbersList.Add(23);
            //numbersList.Add(32);
            //numbersList.Add(35);
        }
        //Array Print
        private void button1_Click(object sender, EventArgs e)
        {
            displayArrays.Text = listText.Text;
        }
        //List Print
        private void button2_Click(object sender, EventArgs e)
         {
            displayStringArrays = text.Split('\n').ToArray();
            foreach (var item in displayStringArrays)
            {
                displayArraysString.Text += item;

                 if (listText.Text == item.Substring(0, item.Length - 1) || listText.Text == item)
                {
                     MessageBox.Show("Found a match!");
                }
                else
                {
                    //Something.
                }
            }

         }
    }
}

用您的代码替换此代码。我检查了它现在工作正常。