Quantcast
Viewing all articles
Browse latest Browse all 106942

RSRP-288037: make more use of LINQ Any(), Contains()

Reporter Image may be NSFW.
Clik here to view.
Jakub Jiricek (jakub.jiricek@vodafone.com)
Jakub Jiricek (jakub.jiricek@vodafone.com)
Created Jan 27, 2012 3:48:05 PM
Updated Jan 27, 2012 3:48:05 PM
Priority Normal
Type Feature
Fix versions No Fix versions
State Submitted
Assignee Alexey Kuptsov (alexey.kuptsov)
Subsystem LINQ Tools
Affected versions No Affected versions
Fixed in build No Fixed in build
R# should suggest to convert the constructs like
    //generic
    private bool tst1<T>(IEnumerable<T> ienum, Predicate<T> pred )
    {
      bool found = false;
      foreach (T t in ienum)
      {
        found = pred(t);
        if (found) break;
      }
      return found;
    }

    //generic
    private bool tst2<T>(IEnumerable<T> ienum, Func<T, bool> fnPred)
    {
      bool found = false;
      foreach (T t in ienum)
      {
        found = fnPred(t);
        if (found) break;
      }
      return found;
    }

    //particular
    private bool tst3(IEnumerable<string> ienum)
    {
      bool found = false;
      foreach (string t in ienum)
      {
        found = t.EndsWith("findme");
        if (found) break;
      }
      return found;
    }

    //particular, using equality
    private bool tst4(IEnumerable<string> ienum)
    {
      bool found = false;
      foreach (string t in ienum)
      {
        found = t == "findme2";
        if (found) break;
      }
      return found;
    }


to

    private bool tst1<T>(IEnumerable<T> ienum, Predicate<T> pred)
    {
      return ienum.Any(t => pred(t));
    }

    private bool tst2<T>(IEnumerable<T> ienum, Func<T, bool> fnPred)
    {
      return ienum.Any(fnPred);
    }

    private bool tst3(IEnumerable<string> ienum)
    {
      return ienum.Any(t => t.EndsWith("findme"));
    }

    private bool tst4(IEnumerable<string> ienum)
    {
      return ienum.Contains("findme2");
    }

Viewing all articles
Browse latest Browse all 106942

Trending Articles