Как можно изменить этот участок кода?

Как я могу извлечь следующий сегмент после определенных слов (например, "asd" и "qwe") из реквеста с использованием более лаконичного и компактного кода, возможно с использованием методов LINQ?
  • 21 февраля 2024 г. 22:38
Ответы на вопрос 1
Вы можете использовать LINQ для создания более компактного кода. Вот пример кода, который извлекает следующий сегмент после слов "asd" и "qwe" из строки request:

```csharp
using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        string request = "asd some text qwe another text";
        
        List<string> words = request.Split(' ').ToList();
        
        List<string> segments = words.SkipWhile(w => w != "asd")
                                     .Skip(1)
                                     .TakeWhile(w => w != "qwe")
                                     .ToList();
        
        string result = string.Join(" ", segments);
        
        Console.WriteLine(result);
    }
}
```

Этот код разбивает строку на слова, затем использует методы LINQ SkipWhile, Skip и TakeWhile для извлечения сегмента после слов "asd" и до слова "qwe". В результате код становится более компактным и лаконичным.
Похожие вопросы