Saturday, December 17, 2011

Remove matching C# region directives using LINQ

  1. var flag = false;
  2. var modified = false;
  3. var lines = File.ReadLines(fileName)
  4. .Where(line =>
  5. {
  6. if ((!flag && line.Contains("#region " + regionName)) ||
  7. (flag && line.Contains("#endregion")))
  8. {
  9. flag = !flag;
  10. modified = true;
  11. return false;
  12. }
  13. return true;
  14. })
  15. .ToArray();
  16. if (modified)
  17. {
  18. File.WriteAllLines(fileName, lines);
  19. }

No comments: