1. C# / Говнокод #16187

    +136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    static string[] ArrayFuller(string pathToFile)
            {
    
                int rr = 0;
                StreamReader sr=new StreamReader(pathToFile);
                while(!sr.EndOfStream){
                sr.ReadLine();
                rr++;
                }
                StreamReader sr2 = new StreamReader(pathToFile);
                string[] arrayBox = new string[rr];
                for (int i = 0; i < rr; i++)
                {
                    arrayBox[i] = Convert.ToString(sr2.ReadLine());
                }
                sr2.Close();
                return arrayBox;
            }

    Запостил: vladb9582, 18 Июня 2014

    Комментарии (6) RSS

    • Супер!
      Ответить
    • ебанный дурак блеать!
      static string[] ArrayFuller(string pathToFile) {
                  using (StreamReader sr = new StreamReader(pathToFile)) {
                      return sr.ReadToEnd().Split('\n');
                  }
              }
      Ответить
      • Э-эх, когда-ж наконец M$ перепишет Split на IEnumerable<String> пора-бы уже, а то Join переписали, а про Split забыли.
        Ну и для полного ынтерпрайза можно ещё вместо '\n' использовать Environment.NewLine. Т.к. StreamReader/ReadLine как раз его и использует.

        Получается вот такой вариант будет красивее:
        static IEnumerable<String> ArrayFuller(String pathToFile)
                {
                    using(StreamReader sr2 = new StreamReader(pathToFile))
                        while(!sr2.EndOfStream)
                            yield return sr2.ReadLine();
                }


        Иначе StreamReader тут не сдался и можно обойтись стандартным File.ReadAllText:
        static String[] ArrayFuller(String pathToFile)
                {
                    return File.ReadAllText(pathToFile).Split(new String[] { Environment.NewLine, }, StringSplitOptions.None);
                }
        Ответить
        • ну так-то да :) мой вариант все равно в разы мимимишнее, чем оригинал
          Ответить
      • Слишком длинно. Есть класс System.IO.File и статический метод ReadAllLines.
        Ответить
    • You don't Full me... ta-da-da-da... ta-da-da-da...
      Ответить

    Добавить комментарий