我想将DateTime.Now方法转换为字符串数组。我查看了StackOverflow并找到了以下解决方案。
DateTime dateTime = DateTime.Now;
string dateTM = dateTime.ToString("dd MMMM yyyy, HH:mm");
string[] dT = dateTM.Select(str => str.ToString()).ToArray();
File.WriteAllLines(MainPath + @"Log\Client-side.txt", dT);
问题在于我花了3个语句行来声明它所以我想知道是否有任何缩短的方法? 我知道这是一些基本的编码,但尽管我仍然无法在互联网上找到任何明确的答案。
希望你能帮助我!
答案 0 :(得分:0)
您可以将其浓缩为类似的内容;
string[] segments = DateTime.Now.ToString("dd MMMM yyyy HH:mm").Split(' ');
修改强>
更新以添加如果您想要字符串数组中的所有字符,那么您可以引用字符串,如;
string test = "Hello world";
char character = test[2]; // contains 'l'
字符串已经是有效的字符数组,可以这样引用。
这可以修改现有代码;
string segments = DateTime.Now.ToString("ddMMMM,yyyyHH:mm");
File.WriteAllLines(MainPath + @"Log\Client-side.txt", segments.Select(c => c.ToString()).ToArray());
答案 1 :(得分:0)
如果您只想将TimeStamp写入文件,请使用File.WriteAllText
DateTime dateTime = DateTime.Now;
string dateTM = dateTime.ToString("dd MMMM yyyy, HH:mm");
File.WriteAllText(MainPath + @"Log\Client-side.txt", dateTM);
要检索,有File.ReadAllText
您也可以像这样使用File.WriteAllLines
using System.Collections.Generic;
...
List<string> lines = new List<string>();
lines.Add(dateTM);
lines.Add("Hello World!");
File.WriteAllLines(MainPath + @"Log\Client-side.txt", lines);