将对象转换为数组类型

时间:2015-03-05 09:22:43

标签: c#

我在Web方法中将数组作为对象传递。如何在Web方法中将对象转换为数组

public static string sample(object arr)
{
    string[] res= (string[])arr; //convertion object to string array
    return "";
}

我收到这样的错误

  

类型' System.InvalidCastException'的例外情况发生在   Flair.dll但未在用户代码中处理

4 个答案:

答案 0 :(得分:5)

试试这个:

public static string sample(object arr)
{

    object[] res= arr as object[];
    if (res != null)
    {
        string[] sRes = res.OfType<string>().ToArray();
    }
    return "";
}

答案 1 :(得分:3)

最简单的方法:

public static string[] Convert(object input)
{
  return input as string[];
}

但是你必须验证输入,如果你可以强制转换,或者转换为对象数组并在每个元素上调用ToString()

答案 2 :(得分:2)

试试这个:

public static string sample(object arr)
{
    string[] res = arr as string[]; //convertion object to string array
    return "";
}

答案 3 :(得分:1)

当你沮丧时,你需要检查:

public static string sample(object arr)
{
    string[] res=   arr as string[];  
   if (res!=null)
       {
            //ok to continue
       }
   else
      {
         //arr is not string[]
      }
    return "";
}

尽管{100}确信(string[])arrarr

,请尽量避免使用string[]