How to change color of multiple objects using C#

I currently have a block by block map. I have some blocks keep the original color, and some blocks turn the object(s) into a red color. However, turning the objects into a red color is a bit of a problem for me.

I am new to C#, and upon hovering over a part with a certain tag, I want the color of multiple objects to change. I have the multiple objects in an Empty GameObject. So I used GetComponentInChildren. However, that only changed one of the colors. Changing it to GetComponentsInChildren throws and error in Visual Basic, and doesn’t allow me to play the unity scene. I do not know the correct usage of GetComponentsInChildren().

Here is a section of my script that is relevant to the question:

if (hit.transform.tag == "Bedrock")
        {
            print("BEDROCK HAS BEEN HIT LOL");
            Renderer SelectionColor = Selection.GetComponentInChildren<Renderer>();
            SelectionColor.material.color = Color.red;
        }
        else
        {
            Renderer SelectionColor = Selection.GetComponentInChildren<Renderer>();
            SelectionColor.material.color = Color.red;
        }

Any help is appreciated. Thanks!

GameObject objects;

public void Start(){
foreach(GameObject j in objects){
j.getComponent<Renderer>().material.color = Color.Green;
}
}

This is an example inside the start method is the actual code pretty much