Кэширование экземпляра Regex .NET ⇐ C#
-
Гость
Кэширование экземпляра Regex .NET
Я прочитал эту статью, в которой описывается, как экземплярные и статические методы вызываются с помощью регулярного выражения .NET.
А что, если сама переменная является статической? Кто-нибудь знает, поддерживает ли .NET какое-либо кэширование, которое потенциально может вызвать утечку памяти?
Уточнение. Например:
public static Regex Foo = new Regex(@"(?:,.*)"); по сравнению:
public static void MyMethod(){ Regex Foo = новое Regex(@"(?:,.*)"); } Вызывает ли какой-либо из них проблемы с памятью чаще, чем другой? Я знаю, что второй, очевидно, создаст больше экземпляров, но есть ли у первого какой-либо способ кэширования входящих строк, о котором стоит беспокоиться, поскольку он, по сути, будет храниться вечно.
Я прочитал эту статью, в которой описывается, как экземплярные и статические методы вызываются с помощью регулярного выражения .NET.
А что, если сама переменная является статической? Кто-нибудь знает, поддерживает ли .NET какое-либо кэширование, которое потенциально может вызвать утечку памяти?
Уточнение. Например:
public static Regex Foo = new Regex(@"(?:,.*)"); по сравнению:
public static void MyMethod(){ Regex Foo = новое Regex(@"(?:,.*)"); } Вызывает ли какой-либо из них проблемы с памятью чаще, чем другой? Я знаю, что второй, очевидно, создаст больше экземпляров, но есть ли у первого какой-либо способ кэширования входящих строк, о котором стоит беспокоиться, поскольку он, по сути, будет храниться вечно.
Мобильная версия