You've already forked linux-packaging-mono
43 lines
1.3 KiB
C#
43 lines
1.3 KiB
C#
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
|
|
|
|
using System.Collections.Generic;
|
|
|
|
namespace System.Web.Mvc
|
|
{
|
|
internal static class ValueProviderUtil
|
|
{
|
|
public static bool CollectionContainsPrefix(IEnumerable<string> collection, string prefix)
|
|
{
|
|
foreach (string key in collection)
|
|
{
|
|
if (key != null)
|
|
{
|
|
if (prefix.Length == 0)
|
|
{
|
|
return true; // shortcut - non-null key matches empty prefix
|
|
}
|
|
|
|
if (key.StartsWith(prefix, StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
if (key.Length == prefix.Length)
|
|
{
|
|
return true; // exact match
|
|
}
|
|
else
|
|
{
|
|
switch (key[prefix.Length])
|
|
{
|
|
case '.': // known separator characters
|
|
case '[':
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return false; // nothing found
|
|
}
|
|
}
|
|
}
|