Я только что столкнулся с чем-то странным в Unity / c#. По какой-то причине следующий foreach l oop
foreach (Fade_in fade in animRotate.GetComponentsInChildren<Fade_in>())
{
fade.delayInSeconds = 1f;
}
не работает. Однако, если я попытаюсь добиться того же с помощью for l oop вместо
for (int i = 0; i < animRotate.transform.childCount; i++)
{
animRotate.transform.GetChild(i).GetComponent<Fade_in>().delayInSeconds = 1f;
}
, это сработает. Может кто-нибудь объяснить мне, почему? Функция foreach l oop не показала ошибку или что-то в этом роде, просто не изменила значение с плавающей запятой.