日付の間違った形式を受け入れてはならないコードを書きました。私は無効な選択を表示しますが、テキストファイルに誤った形式の日付を保存します。日付の形式が正しくない場合は、テキスト ファイルに保存しないでください。
using System;
using System.Collections;
using System.IO;
using System.Globalization;
class FunWithScheduling
{
public void AddView()
{
FileStream s = new FileStream("Scheduler.txt",FileMode.Append,FileAccess.Write);
StreamWriter w = new StreamWriter(s);
Console.WriteLine("Enter the Name of the Person To Be Met:");
string Name = Console.ReadLine();
Console.WriteLine("Enter the Date Scheduled For the Meeting:");
string Date = Console.ReadLine();
DateTime date;
if(!DateTime.TryParseExact(Date,"MM-dd-yyyy",new CultureInfo("en-US"),DateTimeStyles.None,out date))
{
Console.WriteLine("Invalid Choice");
}
Console.WriteLine("Enter the Time Scheduled For the Meeting:");
string Time = Console.ReadLine();
string line = Name + " "+ Date +" " + Time;
w.WriteLine(line);
w.Flush();
w.Close();
s.Close();
}
static void Main()
{
FunWithScheduling a = new FunWithScheduling();
a.AddView();
}
}
この変更されたプログラムは機能しません。While は終わりがなく、日付の正しい形式は受け入れられず、テキスト ファイルに保存されません。
文字列ビルダーの使用は許可されていません。
using System;
using System.Collections;
using System.IO;
using System.Globalization;
class FunWithScheduling
{
public void AddView()
{
FileStream s = new FileStream("Scheduler.txt",FileMode.Append,FileAccess.Write);
StreamWriter w = new StreamWriter(s);
Console.WriteLine("Enter the Name of the Person To Be Met:");
string Name = Console.ReadLine();
Console.WriteLine("Enter the Date Scheduled For the Meeting:");
string Date = Console.ReadLine();
DateTime date;
if(!DateTime.TryParseExact(Date,"MM-dd-yyyy",new CultureInfo("en-US"),DateTimeStyles.None,out date))
{
Console.WriteLine("Invalid date format!");
while(!DateTime.TryParseExact(Date,"MM-dd-yyyy",new CultureInfo("en-US"),DateTimeStyles.None,out date))
{
Console.WriteLine("Invalid Date Entered, please format MM-dd-yyyy");
Date = Console.ReadLine();
}
}
Console.WriteLine("Enter the Time Scheduled For the Meeting:");
string Time = Console.ReadLine();
string line = Name + " "+ Date +" " + Time;
w.WriteLine(line);
w.Flush();
w.Close();
s.Close();
}
static void Main()
{
FunWithScheduling a = new FunWithScheduling();
a.AddView();
}
}