2012-12-02 36 views
0

對不起但我對Unity編碼非常新穎。我有一個NX2陣列,如下所示:Unity3d中的簡單C#或unityscript編碼。需要從nx2數組中刪除所有不同的單詞

var questans = new String[10, 10]; 
questans[0,0]="Hey How's it going?"; 
questans[0,1]="You know me Just chillin'"; 
questans[1,0]="Hello there friend"; 
questans[1,1]="Well met to you too!"; 
questans[2,0]="I like chocolate pudding"; 
questans[2,1]="Good for you"; 

我需要基本寫一個for循環,可以在這陣去,給我一個包含所有不同單詞的數組。因此,輸出應該是:[嘿,怎麼樣,它,去.....]

我寫了一個函數來做到這一點,但我無法拆分字符串,因爲Unity給我的代碼一些奇怪的錯誤與string.split:

我曾寫過:

var ff:String [] // Temporary variable. I'm just testing for the first string questans[0,0] 
ff=quesans[0,0].Split(" "[0]); 

但是,它給了我System.String []作爲輸出......即使通過FF迭代。

有人可以請我給我一個方法,我可能會遍及整個數組(我可以遍歷它)並獲取每個不同的單詞而無需手動爲它寫一個for循環嗎?

謝謝!

回答

0

我要告訴你的第一件事情是,你的變量「questans」是quesans」。所以「ff = quesans ....」應該不起作用。也許這是你的問題?如果沒有:

這實際上很簡單。 你寫的是概念上的一段代碼。 嘗試此:

var ff: String[questans.Length]; //Returned string array 
var linenumber = 0; //Current line, 0-index 
var spacecount = 0; //Current space in current line, 0-index 
foreach (var line in questans) 
{ 
    foreach (var spaceSplit in line.Split(" ")) 
    { 
     ff[linenumber, spacecount] = spaceSplit[spacecount]; 
     spacecount++; 
    } 
    spacecount = 0; 
    linenumber++; 
} 

在這一段代碼,即時嵌套2個foreach循環捕捉的每一行內的每個空間和返回管線的陣列,由空格分開的陣列。

另外,在附註中,當創建一個數組時,我建議您初始化它並將其全部分配在同一代碼行中。對於數組questans我應該這樣做:

var questans: String[10, 10] = [["Hey How's It Going?", 
     "You know me Just chillin'"], 
     ["Hello there friend", 
     "Well met to you too!"], 
     ["I like choclate pudding", 
     "Good for you"]]; 

編輯

如果你想在整個陣列以獲得沒有環,那麼我不知所措。對不起,但我懷疑有這樣的方法。

+0

哦不,我的意思是..我知道如何循環..感謝您的幫助! –

1

使用不同的方法爲您的數組收集,如此處所示。
Distinct value 1
Distinct value 2

這將幫助你,你不需要任何粘性循環。

+0

+1很酷的把戲:-) – Kay

+0

但我需要字符串中的單詞。這隻會給我不同的字符串元組? –

相關問題