string [] str={"alsidf","alimjan","alimjaner","alimning","alimqan"}
我要取出开头是跟alim匹配的全部元素...有何办法么??? 除了for遍历以外...
  高手指导`!!!!

解决方案 »

  1.   

    string[] str = { "alsidf", "alimjan", "alimjaner", "alimning", "alimqan" };
    var result = from q in str where q.StartsWith("alim") == true select q;
      

  2.   

    string[] strs = { "alsidf", "alimjan", "alimjaner", "alimning", "alimqan" };
    var result = from str in strs where str.StartsWith("alim") select str;“== true”是多余的,呵呵
      

  3.   

    string[] str = { "alsidf", "alimjan", "alimjaner", "alimning", "alimqan" };
    foreach (string s in str)
    if (s.IndexOf("alim") == 0)
    Console.WriteLine(s);
    Console.ReadKey();
      

  4.   


    static void Main(string[] args)
    {
    string[] str = { "alsidf", "alimjan", "alimjaner", "alimning", "alimqan" };
    Console.WriteLine("-----方法1匹配结果-----");
    function1(str);
    Console.WriteLine("-----方法2匹配结果-----");
    function2(str);
    Console.WriteLine("-----方法3匹配结果-----");
    function3(str);
    Console.ReadLine();
    }
    /// <summary>
    /// Linq遍历
    /// </summary>
    /// <param name="str"></param>
    private static void function1(string[] str)
    {
    var result = from s in str where s.StartsWith("alim") select s;
    foreach (string ss in result)
    {
    Console.WriteLine(ss);
    }
    }
    /// <summary>
    /// Foreach遍历
    /// </summary>
    /// <param name="str"></param>
    private static void function2(string[] str)
    {
    foreach (string s in str)
    {
    if (s.IndexOf("alim") == 0)
    {
    Console.WriteLine(s);
    }
    }
    }
    /// <summary>
    /// For遍历
    /// </summary>
    /// <param name="str"></param>
    private static void function3(string[] str)
    {
    for (int i = 0; i < str.Length; i++)
    {
    if (str[i].IndexOf("alim") == 0)
    {
    Console.WriteLine(str[i]);
    }
    }
    }
      

  5.   

    想知道linq那样的写法难道不是遍历么。。