ファイル名のリストを含むディレクトリがあります。
VAH007157100-pic1.jpg
VAH007157100-pic2.jpg
VAH007157100-pic3.jpg
WAZ009999200-pic1.jpg
WAZ009999200-pic2.jpg
WAZ009999200-pic3.jpg
サブストリング(0、12)の明確な数を知りたい。
これは何らかの理由で機能していません:
string[] originalFiles = Directory.GetFiles(SelectedDirectory);
private int GetDistinctPolicyCountInDirectory()
{
var prefixes = originalFiles
.GroupBy(x => x.Substring(0, 12))
.Select(y => new { Policy = y.Key, Count = y.Count() });
return prefixes.Count();
}
私は0を取得し続けます。私はここで何かを逃していますか?
数字を分けるために分割したくないことに注意してください。サブストリングでやりたいです。
アップデート -
private int GetDistinctPolicyCountInDirectory(string[] originalFiles)
{
var count = originalFiles.Distinct(x => Path.GetFileName(x).Substring(0, 12)).Count();
return Convert.ToInt32(count);
}
ここで次のようなエラーが発生しています。エラー1デリゲート型ではないため、ラムダ式を型'System.Collections.Generic.IEqualityComparer'に変換できません。