参数`#1'无法将`string'表达式转换为`char []'

时间:2018-02-07 22:36:24

标签: unity3d

`string.Split(params char [])'的最佳重载方法匹配有一些无效的参数

  

参数`#1'无法将`string'表达式转换为`char []'

我正在尝试进行文本对话,但此错误阻止我编译。怎么了?

public TextAsset textFile;
public string[] textLines;

// Use this for initialization
void Start() {
    if (textFile != null) 
    {
        textLines = (textFile.text.Split("\n"));
    }
}

1 个答案:

答案 0 :(得分:1)

string.Split有两个不同的重载(它可以采用的参数组合),但它们都没有采用单个字符串参数。 "\n"是一个字符串文字,因此它是一个无效的参数。

其中一个重载需要params char[],这意味着您可以传递一个字符数组,或者您可以传递一堆单独的字符,它将为您创建数组。因此,您可以使用test.Split('\n'),因为单引号'表示字符文字而不是字符串文字。