How to get variable from a 2D list in c#?

Hi, I’ve adapted the example list to the following class:

using UnityEngine;
using System.Collections;
public class Island : MonoBehaviour
{
    public static int postnumber;
    public static string islandname;
    public static int islandtype;
    public static int islandregion;
    public Island(int newPostNumber, string newName, int newIslandType, int newIslandRegion)
    {
        postnumber = newPostNumber;
        islandname = newName;
        islandtype = newIslandType;
        islandregion = newIslandRegion;
    } 
}

and then in another script:

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

public class SeedTurner : MonoBehaviour
{
    public GameObject prefabisland;
    public GameObject[] islandprefablist;
    string localnewname;

    void Start()
    {
        //This is how you create a list. Notice how the type
        //is specified in the angle brackets (< >).
        List<Island> listedisland = new List<Island>();
        listedisland.Add(new Island(1, "Lisboa	", 1, 1));
        listedisland.Add(new Island(2, "Alfama", 2, 1));
        listedisland.Add(new Island(3, "Torre de Belem	", 23, 1));
//list goes on...
listedisland.Add(new Island(122, "Ameijeira", 13, 1));
                listedisland.Add(new Island(123, "Lagos", 2, 1));

            Playercounter.postnumbercount = Playercounter.postnumbercount++;
//playercounter is another script
            }

How do I get the string islandname from Island where the postnumber is Playercounter.postnumbercount?
And the int islandtype?

I’ve looked all over the net, but I can’t get the foreach to work.

All I’d need is an example based on the tutorial list, but every foreach I see is based on short arrays set up very differently, with numbered rows and columns and autogenerated content.

Include both foreach and for loop examples:

using UnityEngine;
 using System.Collections;
 using System.Collections.Generic;
 
 public class SeedTurner : MonoBehaviour
 {
    public GameObject prefabisland;
    public GameObject[] islandprefablist;
    string localnewname;
 
    void Start()
    {
        //This is how you create a list. Notice how the type
        //is specified in the angle brackets (< >).
        List<Island> listedisland = new List<Island>();
        listedisland.Add(new Island(1, "Lisboa    ", 1, 1));
        listedisland.Add(new Island(2, "Alfama", 2, 1));
        listedisland.Add(new Island(3, "Torre de Belem    ", 23, 1));
 //list goes on...
		listedisland.Add(new Island(122, "Ameijeira", 13, 1));
        listedisland.Add(new Island(123, "Lagos", 2, 1));
 
		foreach(Island island in listedisland)
		{
			if (island.postnumber == Playercounter.postnumbercount)
			{
				Debug.Log("Found Island for player post number: " + Playercounter.postnumbercount + ", IslandName: " + island.islandname);
			}
		}
		
		//for(int i = 0; i < listedisland.Count; i++)
		//{
		//	if (listedisland*.postnumber == Playercounter.postnumbercount)*
  •  //	{*
    

_ // Debug.Log("Found Island for player post number: " + Playercounter.postnumbercount + ", IslandName: " + listedisland*.islandname);_
_
// }_
_
// _
_
//}*_

Playercounter.postnumbercount = Playercounter.postnumbercount++;
//playercounter is another script
}
}