我在Web方法中将数组作为对象传递。如何在Web方法中将对象转换为数组
public static string sample(object arr)
{
string[] res= (string[])arr; //convertion object to string array
return "";
}
我收到这样的错误
类型' System.InvalidCastException'的例外情况发生在 Flair.dll但未在用户代码中处理
答案 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[])arr
为arr
string[]