x


Why do I have to call ToString() when fetching a String from another script?

Hello,

I've noticed that when I call a string from another script to set it in the current script, I have to convert it ToString even if it is already a string... Why is that?

I'd like to know, to be able to foresee future problems it could cause.

example code

private var xObject : GameObject;
private var yScript : yScript;

var nString = "01";

function Start(){
   xObject = GameObject.Find("xObject");
   yScript = GameController.GetComponent ("yScript");
}

function Update(){
   nString = yScript.ynString.ToString();
}

So in this script, why do I have to call ToString() when ynString is already a string?

Simple like to an information page, or what to look up exactly would suffice.

Thank You.

more ▼

asked Dec 06 '10 at 08:02 PM

Oninji gravatar image

Oninji
332 43 47 50

You couldn't have tried to make it any more confusing?

Dec 06 '10 at 08:26 PM Statement ♦♦
(comments are locked)
10|3000 characters needed characters left

1 answer: sort voted first

You do not, in fact, have to use ToString if the variable is already a string. I guess you're not getting a string, but an integer or something. It's impossible to say without knowing what you're doing. You should post working code, and all of it that's relevant, not just one script (which depends on another script).

FYI, don't use strings in GetComponent unless it's really necessary. Just do GetComponent(yScript), which is faster and gives you compile-time errors instead of run-time errors.

more ▼

answered Dec 06 '10 at 10:38 PM

Eric5h5 gravatar image

Eric5h5
80.2k 41 132 519

What I'm getting is in fact a String and work out fine with a print. There was no error when I was trying to get it without a ToString, it just wasn't setted in my other var. Strangely ennough, building a String, I don't need to do ToString. Example Scores["lScore" + gameCon.currentLevel] work perfectly fine. I only need the ToString when I compare them directly, otherwise it does not work. And I'll see for the Getcomponent String, doesn't know why it became a habit, must be using .Find too much.

Dec 06 '10 at 11:37 PM Oninji
(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x5071
x3456
x418
x405

asked: Dec 06 '10 at 08:02 PM

Seen: 1279 times

Last Updated: Dec 06 '10 at 08:02 PM