e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
33 lines
1.1 KiB
C#
33 lines
1.1 KiB
C#
//-----------------------------------------------------------------------
|
|
// <copyright file="StringUtil.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//-----------------------------------------------------------------------
|
|
|
|
namespace System.IdentityModel
|
|
{
|
|
internal static class StringUtil
|
|
{
|
|
/// <summary>
|
|
/// Returns an interned string equivaluent if found
|
|
/// </summary>
|
|
/// <param name="value">Input string.</param>
|
|
/// <returns>Optimized string.</returns>
|
|
public static string OptimizeString(string value)
|
|
{
|
|
if (value != null)
|
|
{
|
|
string interned = string.IsInterned(value);
|
|
if (interned != null)
|
|
{
|
|
return interned;
|
|
}
|
|
}
|
|
|
|
// If the requested string isn't found in the CLR internal pool, don't
|
|
// intern it to avoid memory footprint ----up on the pool itself
|
|
return value;
|
|
}
|
|
}
|
|
}
|