unexpected symbols please help

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

public class world {

Tile[,] tiles;
int width;
int height;

public world(int width = 100, int height = 100 ) {
	this.width = width;
	this.height = height;

	tiles = new Tile[width, height];

	for (int x = 0; x < width; x++) { 
		for (int y = 0; y < height; y++ 
		public Tile [x,y] = new Tile(this, x, y),

			public Tile GetTileAt; ( int x, int y ) {
				if(x > width || x < 0 || y > height || y < 0) {
					Debug.LogError"("+x+","y")" "is out of range)"
					rerturn null

I believe that there shouldn’t be a semicolon after GetTileAt?

this should do

public class world
    {
        Tile[,] tiles;
        int width;
        int height;

        public world(int width = 100, int height = 100)
        {
            this.width = width;
            this.height = height;

            tiles = new Tile[width, height];

            for (int x = 0; x < width; x++)
                for (int y = 0; y < height; y++)
                    tiles[x, y] = new Tile(this, x, y);
        }
        public Tile GetTileAt(int x, int y)
        {
            if (x > width || x < 0 || y > height || y < 0)
            {
                Debug.LogError(x + ", " + y + "is out of range");
            }
            return null;
        }
    }