2012-08-10 79 views
-1

在這裏我想檢查元素第0個位置是否是settelg ......這是正確的嗎? messageIn來自SMS gateway.In該消息我想檢查數組第0位置setelg與否陣列在foreach裏面的位置

public void ValidateReceivedMessage(string messageIn) 
{ 
    int MaleMooseID=1; 
    //ArrayList msg_arr = new ArrayList(); 
    //string[] msg_arr = {messageIn}; 
    if (messageIn != null) 
    { 
     string[] msg_arr = messageIn.Split(' '); 
     int size = msg_arr.Length; 
     foreach (string _element in msg_arr) 
     { 
      if (_element == "settelg") 
      { 

      Response.Redirect("../DesktopModules/SMSFunction/SeenSMS.ascx? value=1&arr=" + string.Join("|", msg_arr, 0, msg_arr.Length)); 

      } 
      else if(_element =="skuttelg") 
      { 

      } 
     } 
    } 
+0

一個'foreach'遍歷每個* *一個'IEnumerable'的元素,因此你的代碼檢查msg_arr'的'每一個元素等於settelg。 – 2012-08-10 06:12:43

回答

0

我覺得你不需要foreach循環here.because你只需要訪問第0個元素知道剛纔如果條件夠了。

if(msg_arr[0] == "setelg") { 
//Item found or true 
} 
else { 
//Item not found or false 
} 

不要使用的foreach here.It沒有必要

0

不知道如果你正在尋找這樣的:

我想檢查數組第0個位置setelg或不

你不需要這個的foreach,你可以簡單地做:

if(msg_arr[0] == "settelg") 
{ 
//found 
} 
else 
{ 
//not found 
} 

或使用string.Equals以比較忽略大小寫字符串

+0

後來我想檢查其他元素也..然後需要foreach循環知道嗎? – 2012-08-10 05:56:49

+0

@NimanthaPrasad,你需要重述你的問題,它不清楚你想問什麼。 – Habib 2012-08-10 05:57:21

0

這將工作:

if (msg_arr.Length > 0 && String.Equals(msg_arr[0],"settelg", StringComparison.Ordinal)) { 
    // ... Do something 
}