OutOfMemoryException, почему? - C#
Формулировка задачи:
Почему данный код приводит к OutOfMemoryException?
Без public string name такого не бывает
namespace Classes { class Program { public string name { set { name = value + " Some value"; } get { return name; } } static void Main(string[] args) { Program program = new Program("Timer"); program.name = "ProgName"; Console.WriteLine(program.name); } public Program(string name) { this.name = name; } public static int Foo(int n) => n * 2; } }
Решение задачи: «OutOfMemoryException, почему?»
textual
Листинг программы
class SomeClass { //Автосвойство на случай, если дополнительной логики не требуется //Поле класса для этого свойства сгенерируется компилятором, т.е. оно //всё равно есть, даже если и не указано явно. public string Name{ get;set;} //Тут мы наворотили какой-то логики и компилятор нам не помощник. //В данном случае мы используем поле для хранения данных, но //можно творить что угодно: лезть в БД, читать файл или генерировать значение. private string _someInternalField; public string FavoriteBook { get {return _someInternalField; } set {_someInternalField = "My book is:" + value; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д