如何在 C# 中使用 Linq 获取当前日期模块名称?
How to get current date module name with Linq in C#?
我正在尝试使用 linq 从 fileName 数组中获取当前日期模块名称,但失败了。如何比较 fileName
中的日期与 C#
中的当前日期
// 这里的日期格式:MMddyyyy:08072016
string[] fileName = { "Module1_08072016.csv","Module2_08062016.csv","Module3_08042016.csv"};
var name = from item in fileName select item.ToString().Split('_', '.');
// where selected item = curent date
需要输出:Module1 // 有当前日期
你的文件名日期格式好像是MMddyyyy
如果是的话你可以这样得到单个文件名
string[] fileName = { "Module1_08072016.csv", "Module2_08062016.csv", "Module3_08042016.csv" };
var name = (from item in fileName select item.ToString().Split('_', '.')).FirstOrDefault(a => a[1] == DateTime.Now.ToString("MMddyyyy"));
Console.WriteLine(name[0]);
如果您想要收集具有当前日期的名称,那么您可以通过这种方式获得
var name = (from item in fileName select item.ToString().Split('_', '.'))
.Where(a => a[1] == DateTime.Now.ToString("MMddyyyy"));
foreach (var n in name)
{
Console.WriteLine(n[0]);
}
如果您在文件名中使用其他日期时间格式,则只需在此处将其替换为相同格式即可
DateTime.Now.ToString("datetime format of filename");
你可以简单地这样做,
string[] fileName = { "Module1_08072016.csv", "Module2_08062016.csv", "Module3_08042016.csv" };
string toCheck = DateTime.Now.ToString("MMddyyyy");
if (fileName.Any(str => str.Contains(toCheck)))
{
Console.WriteLine("yes");
}
string [] fileName = { "Module1_08072016.csv","Module2_08062016.csv","Module3_08042016.csv"};
var currentDate = DateTime.Now.ToString("MMddyyyy");
var fileNames = fileName.Select(e => e.Split('_', '.'))
.Where(e => e[1] == currentDate)
.Select(e => e[0]);
foreach(var name in fileNames)
{
name.Dump(); // Console.WriteLine(name);
}
我正在尝试使用 linq 从 fileName 数组中获取当前日期模块名称,但失败了。如何比较 fileName
中的日期与 C#
// 这里的日期格式:MMddyyyy:08072016
string[] fileName = { "Module1_08072016.csv","Module2_08062016.csv","Module3_08042016.csv"};
var name = from item in fileName select item.ToString().Split('_', '.');
// where selected item = curent date
需要输出:Module1 // 有当前日期
你的文件名日期格式好像是MMddyyyy
如果是的话你可以这样得到单个文件名
string[] fileName = { "Module1_08072016.csv", "Module2_08062016.csv", "Module3_08042016.csv" };
var name = (from item in fileName select item.ToString().Split('_', '.')).FirstOrDefault(a => a[1] == DateTime.Now.ToString("MMddyyyy"));
Console.WriteLine(name[0]);
如果您想要收集具有当前日期的名称,那么您可以通过这种方式获得
var name = (from item in fileName select item.ToString().Split('_', '.'))
.Where(a => a[1] == DateTime.Now.ToString("MMddyyyy"));
foreach (var n in name)
{
Console.WriteLine(n[0]);
}
如果您在文件名中使用其他日期时间格式,则只需在此处将其替换为相同格式即可
DateTime.Now.ToString("datetime format of filename");
你可以简单地这样做,
string[] fileName = { "Module1_08072016.csv", "Module2_08062016.csv", "Module3_08042016.csv" };
string toCheck = DateTime.Now.ToString("MMddyyyy");
if (fileName.Any(str => str.Contains(toCheck)))
{
Console.WriteLine("yes");
}
string [] fileName = { "Module1_08072016.csv","Module2_08062016.csv","Module3_08042016.csv"};
var currentDate = DateTime.Now.ToString("MMddyyyy");
var fileNames = fileName.Select(e => e.Split('_', '.'))
.Where(e => e[1] == currentDate)
.Select(e => e[0]);
foreach(var name in fileNames)
{
name.Dump(); // Console.WriteLine(name);
}