使用C#.Net在数组中查找字符串

时间:2014-01-13 04:54:59

标签: c# .net c#-4.0

我根据名称构建了一个Numerology的应用。

我是初学者使用C#.net,当我输入姓名时我的功能有问题。

该程序只检测到1个字符。

例如:Jane未包含在数组中,但只有J包含在数组中。

如果有人提供另一种简单的算法,我真的很感激。

 string[] Array0 = { " " };
        string[] Array1 = { "A", "J", "S" };
        string[] Array2 = { "B", "K", "T" };
        string[] Array3 = { "C", "L", "U" };
        string[] Array4 = { "D", "M", "V" };
        string[] Array5 = { "E", "N", "W" };
        string[] Array6 = { "F", "O", "X" };
        string[] Array7 = { "G", "P", "Y" };
        string[] Array8 = { "H", "Q", "Z" };
        string[] Array9 = { "I", "R" };

        string tempName = Name.ToUpper();

        foreach (string x in Array1) {
            if (x.Contains(tempName))
            {
                Response.Write("Your name is contained in Array");

            }
            else {
                Response.Write("Your name is Not Contained in Array");
            }
        }

1 个答案:

答案 0 :(得分:0)

试试这个:

List<string[]> _array = new List<string[]>() { new string[] {"A", "J", "S"}, new string[] { "B", "K", "T" },new string [] {"C", "L", "U"},
            new string[] {"D", "M", "V"}, new string[] { "E", "N", "W" }, new string[] { "F", "O", "X" },
            new string[] { "G", "P", "Y" },new string[] { "H", "Q", "Z" }, new string[] { "I", "R" }};

bool _result = _array.Select(a => a.Any(s => Name.ToUpper().Contains(s))).FirstOrDefault();

if(_result)
    Response.Write("Your name is contained in Array");
else
    Response.Write("Your name is Not Contained in Array");

此代码将检查数组列表中是否出现Name