阵列位于foreach内部

时间:2012-08-10 05:50:28

标签: c# c#-4.0

在这里我想检查第0位是否是settelg的元素......这是正确的吗? messageIn来自短信网关。在那条消息中,我想检查数组第0位是否为setelg

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")
           {

           }
       }
   }

3 个答案:

答案 0 :(得分:0)

不确定您是否在寻找这个:

  

我想检查数组第0位是否为setelg

你不需要foreach,你可以这样做:

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

或使用string.Equals将字符串与忽略大小写进行比较

答案 1 :(得分:0)

这将有效:

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

答案 2 :(得分:0)

我认为你不需要foreach循环。因为你只需要访问第0个元素就知道条件是否足够了。

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

不要在这里使用foreach。没有必要