вот код, который вы поместили в комментарии выше:
c# string[,] extension = new string[5,2]{
{".doc|.docx|.doc1","1000"} ,
{".xls", "1000"} ,
{".pdf","1000"},
{".zip", "10000"},
{".7z|.pz", "100000"} };
foreach (string p in array)
{
if (p == extension[0, 1]()) || ..ext2 = size or ..ext3 && (size)
{
Console.WriteLine("Ext {0} has a file size equal to {1}", size_entention, size);
Не имеет большого смысла, но я пойду на это (угадывая до конца):
Лучший способ сопоставления расширений с учетом структуры данных - использовать regEx.Match()
, однако это может быть медленным.(Помните, что если ваша строка поиска .docx
, вам нужно будет сделать ее @"\.docx"
перед вызовом regEx.match()
- .
зарезервировано в regEx.
Я не предлагаю это, это медленноЧто вам действительно нужно, так это словарь. Вот пример использования словаря:
Dictionary<string, int> d = new Dictionary<string, int>();
d.Add(".doc", 1000);
d.Add(".docx", 1000);
d.Add(".doc1", 1000);
d.Add(".xls", 1000);
d.Add(".pdf", 1000);
d.Add(".zip", 10000);
d.Add(".7z", 100000);
d.Add(".pz", 100000);
foreach (string p in array)
{
if (d.ContainsKey(p)
Console.WriteLine("Ext {0} has a file size equal to {1}",p, d[p]);
}
Это будет намного быстрее при поиске того, что вы делали. Настройка словаря идет медленно, поэтому я бы предложилкеширование.