【问题标题】:I need to return a line of string to the user from a text file in C#我需要从 C# 中的文本文件向用户返回一行字符串
【发布时间】:2016-11-13 15:38:41
【问题描述】:
public class QuoteGenerator
{
    public static randomQuote()
    {
        string t = "Quotes.txt";
        List<string> Quotes = new List<string>();
        using (StreamReader quoteReader = new StreamReader(t))
        {
            string line = "";
            while ((line = quoteReader.ReadLine()) != null)
            {
                Quotes.Add(line);
            }
        }
        string[] response = Quotes.ToArray();
        string[] shuffle = Classes.RandomStringArrayTool.RandomizeStrings(response);

        return (shuffle[0]);
    }
}

这是有效的,我认为上面的 StreamReader 代码也可以正常工作:

    public string randomQuote()
    {
        string[] response = new string[] {"The fortune you seek, is in another bot"
            , "Someone has Googled you recently"
            , "This fortune no good. Try another"
            , "404 fortune not found"};
        string[] shuffle = Classes.RandomStringArrayTool.RandomizeStrings(response);
        return shuffle[0];
    }

我需要返回StreamReader方法的第一行引用,为什么我放在一起的代码似乎不起作用?我考虑过对引号进行硬编码,但将它们保存在文本文件中可能是个好主意。我想我不明白使用 StreamReader 是如何工作的。谁能解释一下,我从 7 月才开始编码。谢谢!

【问题讨论】:

  • “为什么我整理的代码似乎不起作用?” -- 不起作用如何具体而言是什么您遇到的问题?错误信息?输出不正确?抛出异常?解决您的问题,以便您包含一个好的minimal reproducible example,并清楚、详细地说明问题究竟是什么,以及到目前为止您为解决问题所做的工作。确保包含任何错误或异常消息的准确文本,并完成异常堆栈跟踪。
  • 对不起,我的问题缺乏细节,我刚开始编码,事情对我来说有点难以描述。没有错误消息并且代码已编译,只是没有输出。 Ray Wilson 能够指出我需要仔细检查的内容。

标签: c# streamreader


【解决方案1】:

假设您的 Quotes.txt 文件位于 bin 目录中,则 StreamReader 代码可以正常工作。唯一明显的是,您没有为 randomQuote 方法指定返回类型。

公共静态字符串 randomQuote()

【讨论】:

  • 需要修复的是字符串类型和文件位置。我想我只需要一副新眼镜。但就文件位置而言,我认为只需在项目中添加一个文本项就足够了,我不需要使用文件的 UNC 路径。事实证明,这就是它所需要的。我还需要学习如何正确调试。感谢您的协助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-17
相关资源
最近更新 更多