将对象转换为数组类型

Saf*_*ena 6 c#

我将一个数组作为Web方法中的对象传递.如何在Web方法中将对象转换为数组

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

我得到这样的错误

Flair.dll中出现"System.InvalidCastException"类型的异常,但未在用户代码中处理

Jus*_*vey 6

试试这个:

public static string sample(object arr)
{

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


小智 5

最简单的方法:

public static string[] Convert(object input)
{
  return input as string[];
}
Run Code Online (Sandbox Code Playgroud)

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


Gal*_*a88 5

尝试这个:

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