我收到的文件列表,以及文件夹,他们居住在文件夹/文件名列表(字符串) - 只取第一个文件夹中的文件 - 可以通过Linq?
我只能处理1个,在任何阶段,每个文件夹的文件 - 并且需要返回每个文件夹中的 第一个文件(这些第一文件进行处理后,他们将从列表因此被移除)
,如果我有输入:
/Foldername1/OrderNo1.csv
/Foldername2/OrderNo2.csv
/Foldername1/OrderNo3.csv
/Foldername3/OrderNo4.csv
/Foldername2/OrderNo5.csv
它应该返回
/FolderName1/OrderNo1.csv
/FolderName2/OrderNo2.csv
/FolderName3/OrderNo4.csv
public void Main()
{
RunThis();
}
public class Order
{
public string OrderNo;
public int CustomerID;
}
private void RunThis()
{
List<Order> o = new List<Order>()
{
new Order { OrderNo = "/Foldername1/OrderNo1.csv",CustomerID = 1},
new Order { OrderNo = "/Foldername2/OrderNo2.csv",CustomerID = 7},
new Order { OrderNo = "/Foldername1/OrderNo3.csv",CustomerID = 8},
new Order { OrderNo = "/Foldername3/OrderNo4.csv",CustomerID = 12},
new Order { OrderNo = "/Foldername2/OrderNo5.csv",CustomerID = 8},
};
Console.WriteLine(o);
}
经由LINQ的这是可能的,或者仅是有可能通过创建 2个阵列 1.以保持经处理的文件夹 2的列表通过directory name并保持的第一文件的列表中的文件夹
Loop each filename
if processed folder does not contain files Directory Name
add foldername to processedfolders
add file to list of first files
end if
next
辉煌,谢谢大家的帮助 –