| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- using System;
- using System.Runtime.CompilerServices;
- namespace MeloongCore.Extensions {
- public static class StringExtensions {
- /// <summary>
- /// 高速的 StartsWith。
- /// </summary>
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool StartsWithF(this string value, string prefix, bool ignoreCase = false) {
- if (value == null) return false;
- return value.StartsWith(prefix, ignoreCase ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal);
- }
- /// <summary>
- /// 高速的 EndsWith。
- /// </summary>
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool EndsWithF(this string value, string suffix, bool ignoreCase = false) {
- if (value == null) return false;
- return value.EndsWith(suffix, ignoreCase ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal);
- }
- /// <summary>
- /// 忽略大小写的 Contains。
- /// </summary>
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool ContainsIgnoreCase(this string value, string subString) {
- return value.IndexOf(subString, StringComparison.OrdinalIgnoreCase) >= 0;
- }
- /// <summary>
- /// 高速的 IndexOf。
- /// </summary>
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static int IndexOfF(this string value, string subString, bool ignoreCase = false) {
- return value.IndexOf(subString, ignoreCase ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal);
- }
- /// <summary>
- /// 高速的 IndexOf。
- /// </summary>
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static int IndexOfF(this string value, string subString, int startIndex, bool ignoreCase = false) {
- return value.IndexOf(subString, startIndex, ignoreCase ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal);
- }
- /// <summary>
- /// 高速的 LastIndexOf。
- /// </summary>
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static int LastIndexOfF(this string value, string subString, bool ignoreCase = false) {
- return value.LastIndexOf(subString, ignoreCase ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal);
- }
- /// <summary>
- /// 高速的 LastIndexOf。
- /// </summary>
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static int LastIndexOfF(this string value, string subString, int startIndex, bool ignoreCase = false) {
- return value.LastIndexOf(subString, startIndex, ignoreCase ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal);
- }
- }
- }
|