Вы должны войти, чтобы создавать сообщения и темы.

С# - Найти из строки Файл.txt который находится на github и сравнить с переменой.

Привет всем, столкнулся небольшой проблемной, никак не могу сообразить, надеюсь на вашу небольшую помощь🤗

У меня задача простая, это найди совпадение, строки(ку) из файла txt (в этом файле будут много текста, которые будут начинаться с новой строки) — Файл же находится на github и открыт для чтения raw.
Суть, если сверить строчку, с переменой string TEXT = "Например" и если будет совпадение строки, вызвать обычное сообщение.

Я видимо не дошёл до момента чтения файлов из сети... Помогите, пожалуйста 🥴

Добрый день.
Самый простой вариант 

var data = new WebClient().DownloadString("https://github.com/PixiL0X/text/blob/main/example_strings.txt");

А потом разбить текст тем же Split по знаку переноса и получить массив строк.

Лайкнул Pixi
Pixi

@adler, Спасибо, как раз искал что-то подобное. Видимо глаз замылился.
Получил нужный результат, но думаю, в будущем столкнусь с проблемой🥲
 

string CODE= Registry.GetValue(@"HKEY_CURRENT_USER\SOFTWARE\TEST\CODE", "KEY", null)?.ToString();
var data = new WebClient().DownloadString("https://github.com/PixiL0X/text/blob/main/example_strings.txt");
string[] dataStrings = data.Split(new string[] { "\r\n" }, StringSplitOptions.None);

foreach (string s in dataStrings)
{
    if (s.Contains(CODE))
    { Console.WriteLine("123456");} else{ //Основной код}

Как вы поняли там много строк довольно большой массив данных, я боюсь что не все строки будут обработаны и в какой-то момент поймает падение )
Спасибо за быстрый ответ 🫡

Не вижу предпосылок для падения. Единственное, если строк много, то это может просто долго обрабатываться. Для ускорения можно оптимизировать код используя списки и параллельную обработку.
Если на работе с утра будет свободное время, приведу пример.

P.S. Можно вообще вот так:

string example_key = "ANopec2aAiTsSGFhs4a0mlMmkW8exOUzbgG6"; //случайная строка из файла для примера
string link = "https://raw.githubusercontent.com/PixiL0X/text/main/example_strings.txt";
List<string> list = new WebClient().DownloadString(link).Split(new string[] { "\n" }, StringSplitOptions.None).ToList();
if (list.Contains(example_key))
{
    Console.WriteLine("YES");
}
else
{
    Console.WriteLine("NO");
}

И еще, если вы хотите это хотите использовать как некое средство активации программы, то если вы не сможете надежно обфусцировать, то это это взломают на 1-2-3. У скомпилированной программы на C# считай открытый код доступный для редактирования, при чем практически на лету.

Лайкнул Pixi
Pixi