Adding two values just gives me something else

I am new to Unity, and I am trying to do something which includes changing the values of a TextMeshPro object. I used this code:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using TMPro;
 public class Main : MonoBehaviour
     public GameObject[] myObjects;
     public TextMeshProUGUI textCount;
     string ObjectCount;
     // Start is called before the first frame update
     void Start()
         textCount = GameObject.Find("/Canvas/ObjCount").GetComponent<TextMeshProUGUI>();
     void Update()
         if (Input.GetKeyDown(KeyCode.Space))
             int randomIndex = Random.Range(0, myObjects.Length);
             Vector3 randomSpawnPosition = new Vector3(Random.Range(-10, 11), 5, Random.Range(-10, 11));
             Instantiate(myObjects[randomIndex], randomSpawnPosition, Quaternion.identity);
             ObjectCount += 1;
             textCount.text = ObjectCount;

However, instead of 1+1 being 2, 1+1, to the script, is apparently 11. Press space again, it’s 111, and so on. Is there any way to fix this?

Well, adding 1 to a string ObjectCount that is “1” will give you 11 after all. You should probably count with something that is a number rather than a string.

The behavior you’re seeing is defined here:

I tried solving it by adding int values and converting it to a string which is the updated text, but when I press space it updates to 1 and doesn’t update again.