我是编程新手所以请耐心等待。 试图创建一个字数统计功能。
但是,我收到以下错误:
以下是我的代码:无法将类型'string'隐式转换为'string []'
这是什么意思?
private void SplitWords(string fbStatus)
{
string[] splitWords = fbStatus.Split(new char[] { ' ' },
StringSplitOptions.RemoveEmptyEntries).Length.ToString();
}
答案 0 :(得分:1)
您可以将string[]
更改为var
以使其生效。它需要string
类型变量来存储结果,而不是字符串数组 - 并且使用var
告诉编译器为您选择正确的类型,这样您就不必担心它了。 / p>
假设您没有停留在字符串中存储计数,您可以使用Count()
扩展方法:(.Length
也可以使用,但是因为你正在做一个字我认为这可能更容易理解)
private void SplitWords(string fbStatus)
{
int splitWords = fbStatus.Split(new char[] { ' ' },
StringSplitOptions.RemoveEmptyEntries).Count();
}
如果您计划在某处使用此值,则可能还需要将void
更改为int
并将return
更改为方法末尾的值。
private int SplitWords(string fbStatus)
{
return fbStatus.Split(new char[] { ' ' },
StringSplitOptions.RemoveEmptyEntries).Count();
}
答案 1 :(得分:0)
您正尝试将ToString()
(a System.String
)的结果分配给string[]
类型的变量。简单地说,编译器不知道如何将string
转换为string[]
并且正在抱怨。
也许你的意思是:
string numberOfSplitWords = fbStatus.Split(new char[] { ' ' },
StringSplitOptions.RemoveEmptyEntries).Length.ToString();
答案 2 :(得分:0)
您要求的是数组长度的字符串化版本(即string
),但您尝试将其存储在string[]
中。类型不匹配,因此错误。
也许你的意思是:
string splitWords = fbStatus
.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
.Length
.ToString();
答案 3 :(得分:0)
的结果
fbStatus.Split(
new char[] { ' ' },
StringSplitOptions.RemoveEmptyEntries
)
.Length
.ToString();
是string
的一个实例,因为Object.ToString
始终返回string
。但是,您试图将结果分配给string[]
因为您说
string[] splitWords = fbStatus.Split(
new char[] { ' ' },
StringSplitOptions.RemoveEmptyEntries
)
.Length
.ToString();
如果从string
到string[]
进行隐式转换,编译器将允许您执行此操作(隐式意味着您不要'必须显式地说“将此string
转换为string[]
”。但是,没有这样的隐式转换。所以,编译器告诉你。
无法隐式将
string
类型转换为string[]
我不清楚你在做什么。如果您只想要分割中的单词,只需说出
即可string[] splitWords = fbStatus.Split(
new char[] { ' ' },
StringSplitOptions.RemoveEmptyEntries
);
如果您只想要单词数量,请说
int count = fbStatus.Split(
new char[] { ' ' },
StringSplitOptions.RemoveEmptyEntries
)
.Length;
根据您问题的标题,我认为这就是您想要的。
答案 4 :(得分:0)
此代码将为您提供一个包含单词(string[]
):
fbStatus.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
这将为您提供单词数(int
):
fbStatus.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Length
这将为您提供转换为字符串的单词数(string
):
fbStatus.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Length.ToString()
由于这是string
,您无法直接将其分配给string[]
。