Problem with score in C#

I am having a problem with scripting a simple collectable score system where every time you collect a collectable, the score goes up by one. The problem is that Unity is saying that

A field initalizer cannot reference
the nonstatic field, method, or
property
‘BestGUIEver.collectScoreCount’

In short, the score variable (collectScoreCount) can’t be used in the string. (the error is called cs0236, for anyone in the know about the sort of thing.)

here is the code I have. (the addition system is in another script; the problem I’m having refers to this script.)

using UnityEngine;
using System.Collections;

public class BestGUIEver : MonoBehaviour {

	// Use this for the best GUI ever
	public int collectScoreCount = 0;
	public string bestGuiString = "thingamajigs: " + collectScoreCount;
	void OnGUI () {
		bestGuiString = GUI.TextField (new Rect (10, 10, 200, 25), bestGuiString, 21);
	}
}

does anyone know how I can fix this? I only have a vague idea of why the error is showing up (Unity won’t allow string to use an int variable, maybe), and I don’t have a clue on how to fix it.

Move the initialization to Start():

using UnityEngine;
using System.Collections;

public class BestGUIEver : MonoBehaviour {
	
	// Use this for the best GUI ever
	public int collectScoreCount = 0;
	public string bestGuiString; 

	void Start() {
		bestGuiString = "thingamajigs: " + collectScoreCount;
	}

	void OnGUI () {
		bestGuiString = GUI.TextField (new Rect (10, 10, 200, 25), bestGuiString, 21);
	}
}