Can you help me solve my C# script error?

Hello again everyone! I'm a javascript person but, I can only script with iTween paths with C# and I don't know much about C#.

I get this weird error that says...

error CS0119:

Expression denotes a "type", where a "variable", "value" or "method group" was expected

...and I know it's referring to the following code:

if(cam.transform.position==Vector3(0,-457.5542,599.0647))


Here's the script I'm having problems with for sake of completeness:

using UnityEngine;
using System.Collections;

public class ShowMap1 : MonoBehaviour {

public int time = 5;
private bool playClip = false;
private bool trig = false;
public GameObject cam;
public GameObject planet;

void Update ()
{
        cam = GameObject.Find("Main Camera");
        planet = GameObject.Find("Planet");
        if(playClip)
        {
                iTween.MoveTo(cam, iTween.Hash("path" , iTweenPath.GetPath("camPath"), "time", time));
                playClip = false;
        }
        if(trig)
        {
                cam.transform.LookAt(planet.transform.position);
        }
        if(cam.transform.position==Vector3(0,-457.5542,599.0647))
        {
                Application.LoadLevel(8);
        }
}

void OnTriggerEnter (Collider collider)
{
        cam = GameObject.Find("Main Camera");
        if(collider.tag == "Player")
        {
                Destroy(GameObject.Find("MiniMapCamera").gameObject);
                Destroy(cam.GetComponent("SmoothFollow"));
                playClip = true;
                trig = true;
        }
}
}

You must use the new keyword in C# when creating new instances. Also, you're feeding double values where expected single.

//                            v-- Here!              v---------v-- floating point
if (cam.transform.position == new Vector3(0,-457.5542f,599.0647f))

Nothing more than a slight difference in how C# and JS go about its business. Just tuck it to the back of your head if you get errors like those, check if you should use new.