Задать вопрос
@yyakovlev0
я супер

Как вернуть переменную из метода в C#?

public static void Searcher (string path, string pattern)
        {
            
            var parts = new List<DirectoryInfo> { };
            var pathh= new List<string>();
            DirectoryInfo dir = new DirectoryInfo(path);
            
            try
            {
                DirectoryInfo[] dirs = dir.GetDirectories();
                foreach (DirectoryInfo di in dirs)
                {
                    
                    parts.Add(di);
                }
            }
            catch { };
            
            
            

            foreach (DirectoryInfo part in parts.ToList())
            {
                
                if(part.ToString().Contains(pattern) == true)
                {

                    
                    
                    return part;


                }
                else
                {
                    parts.Add(part);
                    Searcher(part.ToString(), pattern);
                }
                
            }
            
            return part;
            

        }

как мне вернуть переменную part и испольовать её в методе Main?
  • Вопрос задан
  • 277 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
@Janus74
public static List<DirectoryInfo>Searcher...

Ваш метод Void - ни чего не возвращает
Если укажите тип возвращаемых данных, а именно List , то он будет обязан вернуть объект этого типа

а еще, у вас ошибка в коде, из-за него код не скопилируется. В самом конце return part; - part объект объявляется только в цилке foreach, за пределами цикла, такой объект не объявлен.

картинка
623212d6e17f1946132380.png
Ответ написан
freeExec
@freeExec
Участник OpenStreetMap
void - значит вернуть ничего
А вот если там указать тип (string например), в место него, то нужно будет вернуть объект данного типа.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы