无法将类型 <string> 隐式转换为 String[]

Cannot implicity convert type <string> to String[]

我正在尝试为 Windows IOT Core 构建一个 Twitter 机器人。
我想从名为 tweets.csv.
的文件中获取推文 第一步是从文件中随机获取一行。 这是我试过的:

         private String TweetString(int Size = 140)
     {
         string[] lines = File.ReadLines(@"C:\Path\tweets.csv"); //Error here
         System.Text.StringBuilder builder = new System.Text.StringBuilder();
         var r = new Random();
         int randomLine = r.Next(0, lines.Length);
         string line = lines.Skip(randomLine - 1).Take(1).First();
         return builder.ToString();
     }

不幸的是我得到了这个错误:

Cannot implicitly convert type 'System.Collections.Generic.IEnumerable' to 'string[]'. An explicit conversion exists (are you missing a cast?)

有人知道如何解决这个问题吗?

(抱歉,英语不是我的母语!)

使用 LINQ:

确保你有

using System.Linq;

并使用 .ToArray().

string[] lines = File.ReadLines(@"C:\Path\tweets.csv").ToArray(); 

您必须将其转换为数组。

string[] test = File.ReadLines(@"C:\Path\tweets.csv").ToArray()

使用File.ReadAllLines()读取所有行并将其分配为string[]

鉴于您实际上并未将变量用作数组,您可以简单地使用 var 关键字并将方法更新为....

Random random = new Random();
private String TweetString(int Size = 140) {
    var lines = File.ReadLines(@"C:\Path\tweets.csv"); //Note *var*
    var builder = new System.Text.StringBuilder();         
    int randomLine = random.Next(0, lines.Length);
    string line = lines.Skip(randomLine - 1).Take(1).First();
    builder.AppendLine(line);//Add the line to the builder.
    return builder.ToString();
}