C# 无法修改文件中存储的日期
我正在尝试编写一个代码,允许用户仅以指定的格式修改存储在文本文件中的日期。这个代码似乎不起作用。出了什么问题,我怎样才能让它工作 以下信息存储在我的文本文件中C# 无法修改文件中存储的日期,c#,datetime,file-io,formatting,C#,Datetime,File Io,Formatting,我正在尝试编写一个代码,允许用户仅以指定的格式修改存储在文本文件中的日期。这个代码似乎不起作用。出了什么问题,我怎样才能让它工作 以下信息存储在我的文本文件中 class Planner { static void Main() { Console.WriteLine("The Date To Be Edited Is"); string input = Console.ReadLine(); Console.WriteLine("
class Planner
{
static void Main()
{
Console.WriteLine("The Date To Be Edited Is");
string input = Console.ReadLine();
Console.WriteLine("The Edited Date Is:");
string Date = Console.ReadLine();
StringBuilder newFile = new StringBuilder();
string temp = "";
string[] file = File.ReadAllLines("Dates.txt");
foreach (string line in file)
{
if (line.Contains(Date))
{
DateTime Test;
if(DateTime.TryParseExact(Date, "MM/dd/yyyy", null, DateTimeStyles.None, out Test) == true)
temp = line.Replace(input, Date);
newFile.Append(temp + "\r\n");
continue;
}
newFile.Append(line + "\r\n");
}
File.WriteAllText("Dates.txt", newFile.ToString());
}
}
我想将此日期从2013年10月18日修改为2014年11月18日
用户只能以指定格式MM/dd/yyyy输入日期
必须拒绝任何其他格式。
我的代码中的修改日期部分起作用,但仅接受指定的日期格式不起作用 那么您要查找的日期存储在
input
中,而您要替换它的日期是date
但你有:
10/13/2013
10/18/2013
05/08/2013
我想你想把它改成
if (line.Contains(Date))
我不知道为什么会有这个DateTime.TryParseExact
调用。这似乎对你没有任何好处。如果要验证用户输入的日期是否正确,请在用户输入日期时进行验证,并告诉用户该日期是否无效。没有理由在循环的每次迭代中检查用户的输入
另外,不要调用
newFile.Append(line+“\r\n”)
,而是调用newFile.AppendLine(line)
您有什么具体的问题吗?您收到的输出与您期望的输出相比是什么?每次,您都会来到我的朋友和我的援救@JimMischel@MatildaBeckham字体很乐意帮忙。如果这解决了您的问题,请将其标记为已接受的答案。(单击复选标记。)
if (line.Contains(input))