IEnumerator problems in C#

So my problem is that my IEnumerator function won’t start. Here is the code I use:

void Update(){
Do();
}
IEnumerator Do () {
	Debug.Log("HERE");
	yield return new WaitForSeconds(5.0F);
	Instantiate(AIBullet, transform.position, transform.rotation);
}

I’m not getting the Debug message and nothing is happening.

In C#, you have to use StartCoroutine()

void Update () {
     StartCoroutine( Do() );

     //or the less efficient version that takes a string, but is limited to a single parameter.:
     StartCoroutine("Do" , parameter);
     //The advantage to the string version is that you can call stop coroutine:
     /StopCoroutine("Do");

}

Coroutines won’t “hold up” Update. Check out CoUpdate pattern to use logic-blocking calls.