2013-11-01 36 views
0

正在讀我創建了一個字典,像這樣:檢查對一個字符串字典的值在外部

public Dictionary<string, string> myValues = new Dictionary<string, string>(); 

然後在我的啓動方法,我填寫我的字典裏,像這樣:

void Start() 
{ 
    myValues.Add("device one", "11111111111111"); 
} 

而我試圖做的是檢查我的字典中創建的值,在上面的示例中它將是1111111111111,與遠程讀取的字符串值進行比較。我做的檢查是這樣的:

void Update() 
{ 
    // Spawn a model based on the signal the ipad has recievied. 
    if(myValues["device one"] == outputContent.text) 
    { 
     Instantiate(model1, new Vector3(-2.5f, 3.0f,0), Quaternion.identity); 
    }  
} 

消息正從一個包裝類,從原生iPad的東西需要的信息,並將其引導到統一解析。獲取消息的方法是這樣的:

private void AppendString(string message) 
{ 
    outputContent.text += "\n" + message; 
} 

現在,事情是,消息得到通過的作品。當我運行我的代碼時,屏幕會充滿我想要的信息。但是,當我嘗試檢查存儲的值與發送的值時,沒有任何反應。

我如何得到我的初始硬編碼值是通過從AppendString方法中首先讀取它們。我已經仔細檢查過他們,以確保我已經獲得了正確的信息。

有人可以告訴我,如果我將我的字典中的值與正在閱讀的值進行比較是否正確?

回答

1

有幾個'可疑'的景點。

在這裏,你添加\n,你確定它包含在字典的值?

outputContent.text += "\n" + message; 

此外,請確保您正確比較字符串。它甚至可能是一個大寫字母問題,這是多次被咬傷的事情。嘗試例如:

if(String.Equals(myValues["device one"], outputContent.text, StringComparison.OrdinalIgnoreCase) 
0

更好的替代以下行

if(myValues["device one"] == outputContent.text) 

有:

if(myValues["device one"].Equals(outputContent.text)) 
相關問題