<commit_before>using System;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;

namespace Pingy.Common
{
    public static class FileSystem
    {
        public static async Task<string[]> LoadLinesFromFileAsync(string path, string commentChar)
        {
            List<string> lines = new List<string>();

            FileStream fsAsync = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None, 4096, FileOptions.Asynchronous | FileOptions.SequentialScan);

            try
            {
                using (StreamReader sr = new StreamReader(fsAsync))
                {
                    string? line = string.Empty;

                    while ((line = await sr.ReadLineAsync().ConfigureAwait(false)) != null)
                    {
                        if (!line.StartsWith(commentChar))
                        {
                            lines.Add(line);
                        }
                    }
                }
            }
            catch (IOException)
            {
                return Array.Empty<string>();
            }
            finally
            {
                fsAsync?.Dispose();
            }

            return lines.ToArray();
        }
    }
}<commit_msg>Add StringComparison within FileSystem.cs<commit_after>using System;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;

namespace Pingy.Common
{
    public static class FileSystem
    {
        public static async Task<string[]> LoadLinesFromFileAsync(string path, string commentChar)
        {
            List<string> lines = new List<string>();

            FileStream fsAsync = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None, 4096, FileOptions.Asynchronous | FileOptions.SequentialScan);

            try
            {
                using (StreamReader sr = new StreamReader(fsAsync))
                {
                    string? line = string.Empty;

                    while ((line = await sr.ReadLineAsync().ConfigureAwait(false)) != null)
                    {
                        if (!line.StartsWith(commentChar, StringComparison.Ordinal))
                        {
                            lines.Add(line);
                        }
                    }
                }
            }
            catch (IOException)
            {
                return Array.Empty<string>();
            }
            finally
            {
                fsAsync?.Dispose();
            }

            return lines.ToArray();
        }
    }
}
{'fraction_non_alphanumeric': 0.08724569640062597, 'fraction_numerical': 0.003129890453834116, 'mean_word_length': 1.314027149321267, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3677812', 'n_tokens_mistral': 630, 'n_tokens_neox': 592, 'n_words': 126}