C# 将DateTime.Now转换为数组
我想将DateTime.Now方法转换为字符串数组。我查阅了StackOverflow并找到了以下解决方案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 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
。