Switching between 3 cameras doesn't work

Hello, I have a problem with my code. I don’t get why my cameraList.Lenght is equal to 2 and not 3 as I have a size of 3 in the inspector and 3 cameras in my gameobject cameraList.

If someone can explain what i’m doing wrong that’d be awesome!

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SwitchCamera : MonoBehaviour
{
    // Start is called before the first frame update

    public GameObject[] cameraList;
    int currentIndex;

    void Start()
    {
        Debug.Log("cameralenght = " + cameraList.Length);
        currentIndex = 0;
        cameraList[currentIndex].SetActive(true);

    }

    // Update is called once per frame
    public void Button_Click()             
    {
        Debug.Log("cameralenght2 = " + cameraList.Length);

        DesactivateAll();

        if (currentIndex < cameraList.Length-1)
        {
            currentIndex++;
        }
        else 
        { 
            currentIndex = 0; 
        }

        cameraList[currentIndex].SetActive(true);

        Debug.Log("Index = " + currentIndex);
      


    }

    void DesactivateAll ()
    {
        foreach (GameObject cam in cameraList)
        {
            cam.SetActive(false);
        }
    }

}

Thanks you for your time

I tried this code. it’s working well. Also i edited your code. I added current camera object variable for optimization.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SwitchCamera : MonoBehaviour
{
    [SerializeField] GameObject[] m_CameraList;
    GameObject m_CurrentCamera;

    int m_CurrentIndex;

    void Start()
    {
        //DesactivateAll();
        Debug.Log("cameralenght = " + m_CameraList.Length);
        m_CurrentIndex = 0;
        m_CurrentCamera = m_CameraList[m_CurrentIndex];
        m_CurrentCamera.SetActive(true);
        //m_CameraList[m_CurrentIndex].SetActive(true);

    }
    public void Button_Click()
    {
        Debug.Log("cameralenght2 = " + m_CameraList.Length);

        //DesactivateAll();

        if(m_CurrentIndex < m_CameraList.Length - 1)
        {
            m_CurrentIndex++;
        }
        else
        {
            m_CurrentIndex = 0;
        }

        m_CurrentCamera.SetActive(false);
        m_CurrentCamera = m_CameraList[m_CurrentIndex];
        m_CurrentCamera.SetActive(true);
        //m_CameraList[m_CurrentIndex].SetActive(true);

        Debug.Log("Index = " + m_CurrentIndex);



    }
    void DesactivateAll()
    {
        foreach(GameObject cam in m_CameraList)
        {
            cam.SetActive(false);
        }
    }

}