Add element to String[]?

I have got a code like this:

var names String[];

function AddItem(name) {
names.Add(name);
}
function OnGUI() {
for(var i=0;i<names .length;i++)
{
GUI.Label(Rect(0,0+(i*30),200,30),names *);*

}
}
but i got an error:’ Add’ is not a member of ‘String[]’.
how can i fix that?

http://docs.unity3d.com/Documentation/ScriptReference/Array.html

Take that, just copy-paste it :wink:

var names = new ArrayList();

function Start(){
	AddItem("name1");
	AddItem("name2");
	AddItem("name3");
}
function AddItem(name:String) {
	names.Add(name);
}

function OnGUI() {
	for(var i=0;i<names.Count;i++)
	{
		GUI.Label(Rect(0,0+(i*30),200,30),names*.ToString());*
  • }*
    }

Please [prefer List][1] when you want to add items to a collection. ([MSDN provides API docs for List][2]).

To use it, you need to import System.Collection.Generic.

It’s simple to switch.

  • var myVectors : Vector3[];
  • var myVectors : List.< Vector3 >;
  • var myStrings : String[];
  • var myStrings : List.< String >;

And so on…

#pragma strict

import System.Collections.Generic;

var names : List.< String >;

function Start() {
   AddItem("Adding");
   AddItem("to");
   AddItem("List");
} 

function AddItem(name : String) {
    names.Add(name);
}

function OnGUI() {
    for (var i = 0; i < names.Count; i++) {
        GUI.Label(Rect(0, 0+(i*30), 200, 30), names*);*

}
}
[1]: How and when to use a JS Array over BuiltIn Array - Unity Answers
[2]: List<T> Class (System.Collections.Generic) | Microsoft Learn