How can I use www and yield in c#?

var url : String;
function Start ()
www=new WWW(url);
    yield www;

function Update ()
    if(!audio.isPlaying && audio.clip.isReadyToPlay)

How can I change this code to C#?

I don't think the JavaScript you posted would work ... but ... anyways: In C#, I'd probably do it this way:

public String url; 
private WWW www;

public void Start() {
    WWW www = new WWW(url); 

public IEnumerator WaitForAudioClip() {
    yield return www; 
    audio.clip = www.audioClip; 

public void Update() {
    if (audio.clip != null && !audio.isPlaying && audio.clip.isReadyToPlay) 

For a more accurate example in UnityScript, see also Unity Scripting Reference - WWW

For detailed examples of using yield with WWW and WWWForm in C#, see the answer to this question:

How can I send a string or integer value to server side scripts or web services?