-5

私のテキストファイルには次の情報があります

   Names                     Date Of Birth        Date Of Joining   
   Bella Swan                01/18/1986           12/12/2012
   Edward Cullen             10/13/1983           05/08/2013
   Jacob Black               10/18/1981           12/12/2012
   Carlisle Cullen           05/08/1953           12/16/1998
   Alice Cullen              01/18/1986           09/09/2009

ユーザーが日付を入力すると、その日付に関連するすべてのレコードが表示されます。ユーザーは日付を 01/18/1986 と入力します。ディスプレイには次の詳細が表示されます。

      Bella Swan                01/18/1986           12/12/2012
      Alice Cullen              01/18/1986           09/09/2009

ユーザーが 2012 年 12 月 12 日の日付を入力した場合

       Bella Swan                01/18/1986           12/12/2012
       Jacob Black               10/18/1981           12/12/2012

私が従わなければならないガイドラインは、ジャグ配列、linq、List、Exception などを操作しないことです。

上記の出力を取得する方法がわかりません。これを試しましたが、うまくいきませんでした。

static void Main()
{
    Console.WriteLine("Enter The Date");
    string Date = Console.ReadLine();
    string line = null;
    FileStream fs = new FileStream("Scheduler.txt", FileMode.Open,FileAccess.Read);
    StreamReader reader = new StreamReader(fs);
    {
        while ((line = reader.ReadLine()) != null)
        {
            if (line.Contains(Date))
            {   
                Console.WriteLine(Date);
                break; // then stop
            }
        }
    }
}  
4

1 に答える 1

3

なぜあなたはこれをやっている?

Console.WriteLine(Date);

行全体を印刷する必要があります。

Console.WriteLine(line);

なぜあなたはこれをやっている?

break; // then stop

ファイル全体を読む前に途中で停止しています。ファイルの最後に到達するまでループし続けるように削除します。

その他の考えられる問題: 入力が実際に有効な日付であることを確認しましたか? 1 つの方法は次のようになります。

DateTime valid; 
if(!DateTime.TryParse(Date, "MM/dd/YYYY", CultureInfo.InvariantCulture)) {
    // handle invalid date format
}

それを超えて、これは実際にはかなり良いスタートです。あなたは正しいアプローチをしています。

しかし、あなたの質問はひどく提起されました。次回は、あなたが抱えている実際の具体的な問題を述べてください。問題を明確にすることで、自分のコードをよりよく理解し、間違いを自分で見つけられるようになることさえあるかもしれません。たとえば、次のように言ったとします。

私はこのコードを持っていますが、ユーザーが入力した日付を出力して停止するだけです....

コードを見て、なぜそうなのか疑問に思ったことがあるかもしれません。そして、あなたは気づいたかもしれませんConsole.WriteLine(Date)。そして、おそらく、たぶん、 についても同じですbreak

于 2013-08-09T21:23:28.307 に答える