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



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

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

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

但是我在这里遇到错误。

只有赋值、调用、递增、递减和新对象表达式可以用作语句

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

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

没有指定您访问的数据,我认为它必须是类似

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

如果数组的内容stringca 执行以下操作:

  • int val = int。Parse(msg_arr[msg_arr.长度 - 1]);

    如果(值 == 6)

  • 如果(msg_arr[msg_arr.长度 - 1] == "6")

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

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

ToString() 方法只会分配对象的字符串名称,因此 strDate 的值类似于"System.Int32[]"

最新更新