SoFunction
Updated on 2025-03-07

Detailed explanation of C# memory management and optimization methods


using System;
using ;
using ;
/// <summary>
/// Includes various memory management and optimization methods
/// </summary>
    public class Memory
    {
        private static readonly Version myVersion = new Version(1, 0);
        /// <summary>
/// Set the memory footprint of the current process to a minimum
        /// </summary>
/// <returns>0 is successful, -1 is failure</returns>
        public static int SetProcessMemoryToMin()
        {
            return SetProcessMemoryToMin(().Handle);
        }
        /// <summary>
/// Set the memory footprint to a minimum
        /// </summary>
/// <param name="SetProcess">The program process handle that needs to be set to the memory usage range, which is generally the current process, such as: ().Handle</param>
/// <returns>0 is successful, -1 is failure</returns>
        public static int SetProcessMemoryToMin(IntPtr SetProcess)
        {
            if ( == PlatformID.Win32NT)
            {
                return SetProcessWorkingSetSize(SetProcess, -1, -1);
            }
            return -1;
        }
        [DllImport("")]
        private static extern int SetProcessWorkingSetSize(IntPtr hProcess, int dwMinimumWorkingSetSize, int dwMaximumWorkingSetSize);
    }