为什么编译没有错误:
string input = "one two one three one";
string[] numbers = { "one", "two", "three", "four" };
string[] workingSplitTest = input.Split(new string[] { "one" }, StringSplitOptions.None);
然而,这会产生一个无效的参数错误(“'string.Split(string [],System.StringSplitOptions)的最佳重载方法匹配''有一些无效的参数”):
string input = "one two one three one";
string[] numbers = { "one", "two", "three", "four" };
string[] brokenSplitTest = input.Split(numbers[0], StringSplitOptions.None);
两种方法都引用字符串数组分隔符。我错过了一些基本的东西吗?我需要对第二种方法做出哪些改变?
答案 0 :(得分:1)
当您索引数组numbers[0]
时,结果是一个字符串 - “one”。
一个选项 - 如果您需要数字数组 - 就是这样写:
string[] brokenSplitTest = input.Split(new string[] { numbers[0] }, StringSplitOptions.None);
否则只需使用第一个选项。
答案 1 :(得分:0)
答案 2 :(得分:0)
new string[] { "one" }
不能与numbers[0]
在此处使用索引数组值的正确方法是:
new string[] { numbers[0] }