只有赋值调用增量递减和新对象表达式才能用作语句错误

时间:2012-09-19 07:11:29

标签: c# c#-4.0

我想检查我的最后一个元素的数组长度是否为6。在这里我不知道这个数组有多少个id。我的消息数组是这样的。

  

代码用户名id1 id2 id3 ...日期

    if ([msg_arr.Length - 1] == 6)//YYMMDD  
    {
        strDate = msg_arr[msg_arr.Length - 1].ToString();
    }

但我在这里遇到错误。

  

只有赋值,调用,递增,递减和新对象表达式才能用作语句

3 个答案:

答案 0 :(得分:3)

应为if (msg_arr[msg_arr.Length - 1].Length == 6)

答案 1 :(得分:0)

 if ([msg_arr.Length - 1] == 6) //this is a problem 

您没有指定您访问的数据,我推测它必须是

if (msg_arr[msg_arr.Length - 1] == 6)

如果数组的内容为string,请执行以下操作:

  • int val = int.Parse(msg_arr [msg_arr.Length - 1]);

    if(val == 6)

  • if(msg_arr [msg_arr.Length - 1] ==“6”)

答案 2 :(得分:0)

您希望格式为YYMMDD的字符串日期,并且您希望确保数组中有六个值。 我相信你的意愿:

if (msg_arr.Length == 6)//YYMMDD  
{
    strDate = (String.Join("", msg_arr);
}

ToString()方法只会指定对象的字符串名称,因此strDate的值应为“System.Int32 []”