【问题标题】:Argument `#1' cannot convert `string' expression to type `char[]'参数 `#1' 不能将 `string' 表达式转换为类型 `char[]'
【发布时间】:2018-02-07 22:36:23
【问题描述】:

`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"));
    }
}

【问题讨论】:

标签: unity3d


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 2022-07-06
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多