0

我正在尝试在 webclient.DownloadString("pastebinsite"); 中获取一行 foreach 行 但它说不能将类型'char'转换为'string',所以我添加了一个 string[] downloaded = wc.DownloadString(arac[0] + arac[1] + @"//" + arac[2] + "/raw/" + arac[3]);

这不起作用,因为它说无法将类型“字符串”转换为“字符串 []”我被卡住了,无法在线找到答案。

我试过改变类型

        {
            StringBuilder sb = new StringBuilder();
            Console.WriteLine("start?");
            Console.ReadKey();
            string[] lines = File.ReadAllLines(Directory.GetCurrentDirectory() + @"\Lines.txt");
            WebClient wc = new WebClient();
            int _checked = 0;
            int _error = 0;
            foreach(string line in lines)
            {
                ++_checked;
                //Pastebin text viewer
                try
                {
                    if (line.Contains("pastebin"))
                    {
                        var arac = line.Split('/');

//ERROR LINE CANNOT CONVERT TYPE 'STRING' TO 'STRING[]' Below
                        string[] downloaded = wc.DownloadString(arac[0] + arac[1] + @"//" + arac[2] + "/raw/" + arac[3]);

                        foreach(string line2 in downloaded)
                        {
                            if (line2.Contains(":")
                                {

                                //Console.WriteLine(arac[0] + arac[1] + @"//" + arac[2] + "/raw/" + arac[3]);
                                Console.WriteLine(arac[0] + arac[1] + @"//" + arac[2] + "/raw/" + arac[3]);
                                sb.Append(downloaded);
                            }
                        }
                    }
                    else
                    {
                        //Console.WriteLine("Not valid pastebin link!");
                    }
                    Console.Title = "Checked : " + _checked;
                }
                catch(WebException ex)
                {
                    ++_error;
                    Console.WriteLine("Error: " + _error);
                }

            }
            File.WriteAllText(Directory.GetCurrentDirectory() + @"\Output " + _checked + ".txt", sb.ToString());
            Console.Clear();
            Console.WriteLine("FINISHED");
            Console.ReadKey();
        }```
4

1 回答 1

0

wc.DownloadString(..) 返回一个字符串而不是字符串[]。

如果您需要 string[] 将包含行,则需要拆分字符串以获得 string[]
可能的解决方案:

var stringResult = wc.DownloadString(arac[0] + arac[1] + @"//" + arac[2] + "/raw/" + arac[3]);

然后以下之一:

var lines = stringResult.Split(new [] { '\r', '\n' });
var lines = Regex.Split(stringResult, "\r\n|\r|\n");
var lines = stringResult.Split(new[] {"\r\n", "\r", "\n"}, StringSplitOptions.None)

最后

foreach(string line in lines) {...}
于 2019-05-03T01:48:26.783 回答