How to get an array of all children of any type, but not their children ?

title says it.

I I've got a gameobject in my scene with a script attached to it, in this script I want to have an array (or list or whatever) of all the children of this object (regardless of their type), but I don't want the children of the children included in this array.

I've searched for this, but can't get a satisfying solution.

I either have to specify a type, and/or I get all the children of the children as well.

any help ?

List<GameObject> children = new List<GameObject>();
foreach (Transform child in transform) children.Add(child.gameObject);