C#提示:无法将"System.String[]"隐式转换为string类型

2025-05-14 11:33:14
推荐回答(5个)
回答1:

这是说你直接把System.String[]当成string类型使用,System.String[]是数组类型,想要使用数组中的值,可以按如下代码做:

string[] lines = File.ReadAllLines(@"text.txt");
string txt = "";
foreach (string line in lines)
{
    txt += line;
}

txt就是组数中所有字符串的组合。

回答2:

无法隐式转换,那是强制转换。VS新版本的出来,过去一些隐式能转换的会变成只能强制转换的。

回答3:

ReadAllLines方法返回字符串数组(String[]),当然不能隐式转换为字符串(string)。
ReadAllText方法返回字符串(string),所以能够赋给字符串遍量。

希望用ReadAllLines方法取出你text文本中所要行的数据,只需要
string[] lines=File.ReadAllLines(@"text.txt");
然后可遍历输出。希望采纳。

回答4:

没有必要一行一行处理的情况下,你直接用ReadAllText,因为它内部就是一行一行的拼起来的。
你如果需要处理一行一行的,说明你对c#的返回类型还不是很了解。
既然是一行一行的,说明是多行,每一行都是string,所以是一个数组,即string[]
所以你定义变量的时候,应该就是数组
string[] lines= File.ReadAllLine(....);//
foreach(string line in lines){
//line 就是一行
}
for(int i=0;i //lines[i] 就是其中一行
}

具体看你要做什么

回答5:

string[] sa = File.ReadAllLines(@"text.txt");
string all = “”;
foreach(string str in sa)
{
all += str+"\r\n";
}