商品IDが一致するすべてのファイル(M320.1215など)で構成されるリストを絞り込むことを試みています。私はそれを絞り込む必要があると言うとき、私はリストの最新のアイテムだけを保持するためにリストのエントリを削除したい。一致する文字列のパラメータを持つリストから項目を削除する最も最近の日付時刻
これは、ファイル名の例です。ここでI_ATTRIBUTES_M320.1215_EGHS_CS_07112016225939.xlsx
あなたが「M320.1215」 Subformatでと言語「EGHS_CS」 と日時07112016225939のように製品IDを参照してください形式MMDDYYYYHHMMSS。
public DateTime correctedDateString(string dts)
{
string correctDTS = dts.Insert(2, "/");
correctDTS = correctDTS.Insert(5, "/");
correctDTS = correctDTS.Insert(10, " ");
correctDTS = correctDTS.Insert(13, ":");
correctDTS = correctDTS.Insert(16, ":");
DateTime convertedDate = DateTime.Now;
try
{
convertedDate = Convert.ToDateTime(correctDTS);
Console.WriteLine("'{0}' converts to {1} {2} time.", correctDTS, convertedDate, convertedDate.Kind.ToString());
}
catch (FormatException)
{
convertedDate = Convert.ToDateTime("01/01/2015 00:00:00");
Console.WriteLine("'{0}' is not in the proper format.", correctDTS);
}
return convertedDate;
これは明らかに簡単な方法です。
string[] tempArray = Path.GetFileNameWithoutExtension(filenames[i].ToString()).ToString().Split(new[] { "_" }, StringSplitOptions.None);
今、私は唯一の次のリストを操作するとされて苦労していますどのような各サブフォーマットや言語コンボの最新バージョンを保持:私は、使用可能なセグメントにリスト内の項目を分割するために、次を使用している 。
List<string> filenames = new List<string>()
{
"I_ATTRIBUTES_M320.1215_EGHS_RU_07132016020215",
"I_ATTRIBUTES_M320.1215_EGHS_BE_06292016132122",
"I_ATTRIBUTES_M320.1215_EGHS_BE_06302016100039",
"I_ATTRIBUTES_M320.1215_EGHS_BE_07042016080530",
"I_ATTRIBUTES_M320.1215_EGHS_BE_07112016225936",
"I_ATTRIBUTES_M320.1215_EGHS_BE_07132016020203",
"I_ATTRIBUTES_M320.1215_EGHS_BR_06292016132127",
"I_ATTRIBUTES_M320.1215_EGHS_BR_06302016100042",
"I_ATTRIBUTES_M320.1215_EGHS_BR_07042016080536",
"I_ATTRIBUTES_M320.1215_EGHS_BR_07112016225938",
"I_ATTRIBUTES_M320.1215_EGHS_BR_07132016020206",
"I_ATTRIBUTES_M320.1215_EGHS_CS_07112016225939",
"I_ATTRIBUTES_M320.1215_EGHS_CS_07132016020207",
"I_ATTRIBUTES_M320.1215_EGHS_DE_06292016132128",
"I_ATTRIBUTES_M320.1215_EGHS_DE_06302016100044",
"I_ATTRIBUTES_M320.1215_EGHS_DE_07042016080537",
"I_ATTRIBUTES_M320.1215_EGHS_DE_07112016225940",
"I_ATTRIBUTES_M320.1215_EGHS_DE_07132016020208",
"I_ATTRIBUTES_M320.1215_EGHS_FR_06292016132129",
"I_ATTRIBUTES_M320.1215_EGHS_FR_06302016100045",
"I_ATTRIBUTES_M320.1215_EGHS_FR_07042016080538",
"I_ATTRIBUTES_M320.1215_EGHS_FR_07112016225941",
"I_ATTRIBUTES_M320.1215_EGHS_FR_07132016020210",
"I_ATTRIBUTES_M320.1215_EGHS_IT_06292016132129",
"I_ATTRIBUTES_M320.1215_EGHS_IT_06302016100046",
"I_ATTRIBUTES_M320.1215_EGHS_IT_07042016080539",
"I_ATTRIBUTES_M320.1215_EGHS_IT_07112016225941",
"I_ATTRIBUTES_M320.1215_EGHS_IT_07132016020211",
"I_ATTRIBUTES_M320.1215_EGHS_MS_06292016132130",
"I_ATTRIBUTES_M320.1215_EGHS_MS_06302016100047",
"I_ATTRIBUTES_M320.1215_EGHS_MS_07042016080540",
"I_ATTRIBUTES_M320.1215_EGHS_MS_07112016225943",
"I_ATTRIBUTES_M320.1215_EGHS_MS_07132016020212",
"I_ATTRIBUTES_M320.1215_EGHS_PL_06292016132131",
"I_ATTRIBUTES_M320.1215_EGHS_PL_06302016100048",
"I_ATTRIBUTES_M320.1215_EGHS_PL_07042016080541",
"I_ATTRIBUTES_M320.1215_EGHS_PL_07112016225944",
"I_ATTRIBUTES_M320.1215_EGHS_PL_07132016020214",
"I_ATTRIBUTES_M320.1215_EGHS_RU_06292016132131",
"I_ATTRIBUTES_M320.1215_EGHS_RU_06302016100049",
"I_ATTRIBUTES_M320.1215_EGHS_RU_07042016080542",
"I_ATTRIBUTES_M320.1215_EGHS_RU_07112016225945"
};
だから基本的に私は次のように最終的なリストを必要とする:
List<string> filenames = new List<string>()
{
"I_ATTRIBUTES_M320.1215_EGHS_BE_07132016020203",
"I_ATTRIBUTES_M320.1215_EGHS_BR_07132016020206",
"I_ATTRIBUTES_M320.1215_EGHS_CS_07132016020207",
"I_ATTRIBUTES_M320.1215_EGHS_DE_07132016020208",
"I_ATTRIBUTES_M320.1215_EGHS_FR_07132016020210",
"I_ATTRIBUTES_M320.1215_EGHS_IT_07132016020211",
"I_ATTRIBUTES_M320.1215_EGHS_MS_07132016020212",
"I_ATTRIBUTES_M320.1215_EGHS_PL_07132016020214",
"I_ATTRIBUTES_M320.1215_EGHS_RU_07132016020215"
};
は、任意の助けを事前にありがとうございます。
こんにちは、フィードバックありがとうございます。私はLinqのものについて読まなければならないでしょう。私は自分自身を教えるために忙しいです。 –
なぜあなたのコードはOrderByDescending(correctedDateString(i => i [5]))でエラーを起こすのですか?ラムダについて何か言って、i => i [5]に下線を引いていますか? –
謝罪、私はコードを修正しました。 OrderByDescending(i => correctedDateString(i [5])) – pieperu