C# 将DateTime.Now转换为数组

C# 将DateTime.Now转换为数组,c#,.net,C#,.net,我想将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\Cli

我想将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行语句来声明它,所以我想知道是否有办法缩短它? 我知道这是一些基本的编码,但尽管如此,我仍然无法在互联网上找到任何明确的答案


希望你能帮助我

你可以把它浓缩成:

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());

如果您只想在文件中写入时间戳,那么只需使用
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

DateTime dateTime = DateTime.Now;
string dateTM = dateTime.ToString("dd MMMM yyyy, HH:mm");
File.WriteAllText(MainPath + @"Log\Client-side.txt", dateTM);
您还可以像这样使用
File.writeAllines

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);
使用System.Collections.Generic;
...
列表行=新列表();
行。添加(dateTM);
添加(“你好,世界!”);
writeAllines(MainPath+@“Log\Client-side.txt”,行);

当然,您可以将每段代码缩短为一行,但这并不会使您的代码变得更好,尤其是它只会变得更难理解。您的代码非常简单明了,为什么要通过任何可能的修改来混淆它呢?@Himbrombeer是真的,但我仍然想知道它是否可以更简短,同时可读性也很好。为什么您一开始就想把每个字符都写在单独的行中?是我,还是你忽略了
文件。WriteAllText
我收回了我的得票-你应该重写你的问题,以反映你的实际问题,不是将日期和时间字符串分解成数组,而是将一行写入文本文件。你需要重新表述你的问题。按照目前的编写方式,您似乎希望将代码从4行缩短为一行。但是从评论来看,您似乎真的只是想知道如何将日期写成一行(即
writealText
)。另外,仅供参考,您可以使用单个元素(date.ToString())创建一个数组,然后使用
writeAllines
,就像您当前所做的那样:
string[]dT={dateTM}从OPs代码中,他想要数组中的每个字符,而不仅仅是组。别问我为什么。@HimBromBeere还有其他方法可以用它的内容来写文件吗?代替.WriteAllines方法?尝试WriteAllExt只是吹毛求疵:
ToCharArray()
,因为字符串allready是
IEnumerable