System.object能放什么类型,好像什么类型都可以。
通过可变参数params object[] paramsList传递一个string或者多个
...
test2("dd");
test2("aa","bb","cc");
...
paramsList = (object[])o;//强制类型 不一定生效.会被转成 string而不是string[]
paramsList = o as object[];//这样才生效,必定会转换为string[]
...
using System;
...
public void test2( params object[] paramsList)
{
Test(paramsList);
}
...
public void Test(object o)//object[]
{
Debug.Log(str + " Test0");
if (o != null)
{
Debug.Log(str + " Test1 o != null");
object[] paramsList = null;
paramsList = //(object[])
o as object[];//强制类型 不一定生效
if (paramsList == null
//|| paramsList.Length == 0
)
{
Debug.Log(str + " Test2 paramsLi
Unity中C#可变参数object类型转换解析

本文探讨了Unity中使用C#的params object[]传递参数时遇到的问题,特别是关于如何处理string和其他类型参数的强制转换。文章详细解释了System.object类型的通用性及其在可变参数中的应用。
最低0.47元/天 解锁文章
12万+

被折叠的 条评论
为什么被折叠?



