I want some ints stored in a new int right after eachother

I have 9 ints that i want added together but instead of 1+2 = 3. I want them to stand next to eachother like this: 1, 2 = 12

Heres my code.

public int item1;
	public int item2;
	public int item3;
	public int item4;
	public int item5;
	public int item6;
	public int item7;
	public int item8;
	public int item9;

	public GameObject[] slots;
	private GetItemNumber getNum;

	void OnMouseDown(){
		print ("ss");

		foreach (GameObject slot in slots) {
			getNum = slot.GetComponent<GetItemNumber>();
			getNum.SendNumbers();
		}

		Debug.Log (item1+""+item2+""+item3+""+item4+""+item5+""+item6+""+item7+""+item8+""+item9);

	}

There’s an easy but risky way to do this: string operations.

int Concat(int x, int y) {
    string s = x.ToString() + y.ToString();
    return int.Parse(s);
}

That gets the job done in a hurry.

If you want more control or efficiency, it’s worth considering how our number system works.

What is 12? It’s 10 plus 2:

10 + 2
(1)(10^1) + (2)(10^0)

What is 654? It’s 600 + 50 + 4:

600 + 50 + 4
(6)(10^2) + (5)(10^1) + (4)(10^0)

Each digit is worth ten times the digit after it.

If you have a series of single-digit numbers, you can count them up. Add each digit, multiplying by ten as you go:

int Concat(int[] digits) {
	int total = 0;
	for (int i=0; i<digits.length; i++) {
		if (i > 0) total *= 10;
		total += digits*;*
  •   }	*
    
  • }*
    That assumes you have single-digit numbers. Though, you could use a similar process in reverse to break any multi-digit number into single-digit numbers.