Копируем только нужные файлы — быстро и удобно!
Нужно забрать только
Указываем директории и фильтр по расширению:
Теперь находим и копируем только нужные файлы:
🔥 Получаем копию всех
➡️ C# Ready | #практика
Нужно забрать только
.jpg, .csv или любые другие файлы из папки? Не перебираем вручную — всё делаем в пару строк на C#.Указываем директории и фильтр по расширению:
string sourceDir = @"C:\Data\Images";
string destDir = @"C:\Backup\Images";
string extension = ".jpg";
Теперь находим и копируем только нужные файлы:
foreach (var file in Directory.GetFiles(sourceDir))
{
if (Path.GetExtension(file).Equals(extension, StringComparison.OrdinalIgnoreCase))
{
var destFile = Path.Combine(destDir, Path.GetFileName(file));
File.Copy(file, destFile, overwrite: true);
}
}
🔥 Получаем копию всех
.jpg (или любых других) из каталога — идеально для бэкапа, фильтрации или миграции данных.Please open Telegram to view this post
VIEW IN TELEGRAM
❤20👍7🔥5
Поиск текста во всех файлах папки!
Нужно найти слово или строку в десятках файлов? Например, проверить, где используется
Укажем путь к папке и ключевое слово:
Теперь пробегаем все файлы и ищем совпадения:
🔥 Работает с любыми типами файлов — от
➡️ C# Ready | #практика
Нужно найти слово или строку в десятках файлов? Например, проверить, где используется
"connectionString" в .cs, .json или других файлах.Укажем путь к папке и ключевое слово:
string folderPath = @"C:\Projects\Config";
string searchTerm = "connectionString";
Теперь пробегаем все файлы и ищем совпадения:
foreach (var file in Directory.GetFiles(folderPath, "*.*", SearchOption.AllDirectories))
{
string content = File.ReadAllText(file);
if (content.Contains(searchTerm, StringComparison.OrdinalIgnoreCase))
{
Console.WriteLine($"Найдено в: {file}");
}}
🔥 Работает с любыми типами файлов — от
.cs и .json до .txt. Можно адаптировать под поиск по маске (*.log) или включить регулярные выражения.Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥7❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26❤5👍5🤝1
❤6👍4🔥1
В прошлый раз говорили про деконструкцию и производительность.
ValueTuple хорошо ложится в методы, паттерны и цепочкиЧто важно знать:
• Упрощает возврат значений;
• Работает с LINQ;
• Имеет имена полей.
Это помогает возвращать сразу несколько значений — без классов, аллокаций и Item1.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍11🤝7❤3
C# Ready | Unity pinned «👋🏼 Приветствую в C# Ready! C# — современный, мощный и элегантный язык программирования от Microsoft. Он объединяет в себе простоту, безопасность и гибкость, позволяя создавать всё. Это авторский ✈️ канал, который поможет вам изучить C# с нуля и глубже понять…»
ValueTask vs Task — когда можно обойтись без лишних аллокаций!
Иногда асинхронный метод чаще всего завершается синхронно, а возвращая
Если кэш почти всегда заполнен, каждый вызов создаёт лишний
При
При «промахе» возвращаем
🔥 Использование
➡️ C# Ready | #практика
Иногда асинхронный метод чаще всего завершается синхронно, а возвращая
Task, мы платим за каждую аллокацию объекта-представителя:// «До»: всегда возвращаем Task, даже если результат готов сразу
public async Task<int> GetCountAsync()
{
if (cache.TryGetValue("count", out var value))
return value;
var fresh = await LoadCountFromDbAsync();
cache["count"] = fresh;
return fresh;
}
Если кэш почти всегда заполнен, каждый вызов создаёт лишний
Task-объект:// «После»: возвращаем ValueTask при готовом результате
public ValueTask<int> GetCountAsync()
{
if (cache.TryGetValue("count", out var value))
return new ValueTask<int>(value); // без аллокации state-machine
return new ValueTask<int>(LoadCountFromDbAsync());
}
При
cache hit мы сразу упаковываем значение в ValueTask<int>, не создавая асинхронной машины состояний.При «промахе» возвращаем
ValueTask, обёрнутый вокруг реального Task.🔥 Использование
ValueTask там, где результат часто готов сразу, сокращает количество выделений в куче и снижает нагрузку сборщика мусора.Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤6🔥3
Кратко сравниваем задачи C# и корутины Unity, показывая, где каждая техника эффективнее в реальных сценариях.
Что важно знать:
• Ошибки ловятся сразу;
• Отмена делается просто;
• Изображение остаётся плавным.
Совмещая задачи и корутины, ты получишь чистый код и устойчивую производительность во всех игровых ситуациях.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27👍6❤4🤝3