484просмотров
23.6%от подписчиков
11 марта 2026 г.
statsScore: 532
⚡️ 5 C# фишек, которые прокачают твой Unity-код Сохрани — используешь каждый день, если хочешь писать чисто и современно. 1️⃣ ?? и ??= playerName = inputName ?? "Без имени";
list ??= new List<int>(); 📌 ?? — дефолт при null, ??= — инициализация, если объект ещё не создан. В Unity: • Подходит для ленивой инициализации компонентов • Отлично работает с GetComponent() и кастомными системами DI 2️⃣ switch expression string label = state switch { GameState.Menu => "В меню", GameState.Playing => "Играем", _ => "?"
}; 📌 Читается лучше, чем громоздкий switch { case }, особенно в UI-слоях и инспекторных тулзах. В Unity: • Используй в кастомных инспекторах, отображении состояний, локализации 3️⃣ Интерполяция строк $"" Debug.Log($"Игрок: {playerName}, Очки: {score}"); 📌 Быстрее и безопаснее, чем +. Упрощает логи на этапе разработки. В Unity: • Используй для логирования, UI-отладчика, вывода инфы в EditorWindow 4️⃣ using var (C# 8+) using var stream = File.OpenRead(path); 📌 Безопасное использование ресурсов — автоматически закроется, даже при исключении. В Unity: • Полезно при работе с файлами, AssetBundle, StreamingAssets • Работает только в .NET 4.x / Unity с C# 8+ 5️⃣ readonly struct и in параметры (бонус) readonly struct DamageInfo { public readonly int amount; public readonly Vector3 direction;
} void ApplyDamage(in DamageInfo info) { ... } 📌 Меньше копий, больше производительности. Актуально в ECS и при передаче больших структур. 💬 Какие из этих ты уже используешь в Unity?
🔔 Подписывайся — будет ещё про Span<T>, LINQ и новые C# фичи в Unity 👉Akrus Games | Unity