summaryrefslogtreecommitdiff
path: root/src/mscorlib/src/System/String.Searching.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/mscorlib/src/System/String.Searching.cs')
-rw-r--r--src/mscorlib/src/System/String.Searching.cs180
1 files changed, 104 insertions, 76 deletions
diff --git a/src/mscorlib/src/System/String.Searching.cs b/src/mscorlib/src/System/String.Searching.cs
index 2620cfd0dc..411a45c1a7 100644
--- a/src/mscorlib/src/System/String.Searching.cs
+++ b/src/mscorlib/src/System/String.Searching.cs
@@ -11,30 +11,34 @@ namespace System
public partial class String
{
[Pure]
- public bool Contains( string value ) {
- return ( IndexOf(value, StringComparison.Ordinal) >=0 );
+ public bool Contains(string value)
+ {
+ return (IndexOf(value, StringComparison.Ordinal) >= 0);
}
-
+
// Returns the index of the first occurrence of a specified character in the current instance.
// The search starts at startIndex and runs thorough the next count characters.
//
[Pure]
- public int IndexOf(char value) {
+ public int IndexOf(char value)
+ {
return IndexOf(value, 0, this.Length);
}
[Pure]
- public int IndexOf(char value, int startIndex) {
+ public int IndexOf(char value, int startIndex)
+ {
return IndexOf(value, startIndex, this.Length - startIndex);
}
[Pure]
- public unsafe int IndexOf(char value, int startIndex, int count) {
+ public unsafe int IndexOf(char value, int startIndex, int count)
+ {
if (startIndex < 0 || startIndex > Length)
- throw new ArgumentOutOfRangeException(nameof(startIndex), Environment.GetResourceString("ArgumentOutOfRange_Index"));
+ throw new ArgumentOutOfRangeException(nameof(startIndex), SR.ArgumentOutOfRange_Index);
if (count < 0 || count > Length - startIndex)
- throw new ArgumentOutOfRangeException(nameof(count), Environment.GetResourceString("ArgumentOutOfRange_Count"));
+ throw new ArgumentOutOfRangeException(nameof(count), SR.ArgumentOutOfRange_Count);
fixed (char* pChars = &m_firstChar)
{
@@ -62,39 +66,42 @@ namespace System
return -1;
- ReturnIndex3: pCh++;
- ReturnIndex2: pCh++;
- ReturnIndex1: pCh++;
- ReturnIndex:
+ ReturnIndex3: pCh++;
+ ReturnIndex2: pCh++;
+ ReturnIndex1: pCh++;
+ ReturnIndex:
return (int)(pCh - pChars);
}
}
-
+
// Returns the index of the first occurrence of any specified character in the current instance.
// The search starts at startIndex and runs to startIndex + count -1.
//
- [Pure]
- public int IndexOfAny(char [] anyOf) {
- return IndexOfAny(anyOf,0, this.Length);
+ [Pure]
+ public int IndexOfAny(char[] anyOf)
+ {
+ return IndexOfAny(anyOf, 0, this.Length);
}
-
+
[Pure]
- public int IndexOfAny(char [] anyOf, int startIndex) {
+ public int IndexOfAny(char[] anyOf, int startIndex)
+ {
return IndexOfAny(anyOf, startIndex, this.Length - startIndex);
}
-
+
[Pure]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
- public extern int IndexOfAny(char [] anyOf, int startIndex, int count);
-
-
+ public extern int IndexOfAny(char[] anyOf, int startIndex, int count);
+
+
// Determines the position within this string of the first occurrence of the specified
// string, according to the specified search criteria. The search begins at
// the first character of this string, it is case-sensitive and the current culture
// comparison is used.
//
[Pure]
- public int IndexOf(String value) {
+ public int IndexOf(String value)
+ {
return IndexOf(value, StringComparison.CurrentCulture);
}
@@ -103,7 +110,8 @@ namespace System
// startIndex, it is case-sensitive and the current culture comparison is used.
//
[Pure]
- public int IndexOf(String value, int startIndex) {
+ public int IndexOf(String value, int startIndex)
+ {
return IndexOf(value, startIndex, StringComparison.CurrentCulture);
}
@@ -112,43 +120,50 @@ namespace System
// startIndex, ends at endIndex and the current culture comparison is used.
//
[Pure]
- public int IndexOf(String value, int startIndex, int count) {
- if (startIndex < 0 || startIndex > this.Length) {
- throw new ArgumentOutOfRangeException(nameof(startIndex), Environment.GetResourceString("ArgumentOutOfRange_Index"));
+ public int IndexOf(String value, int startIndex, int count)
+ {
+ if (startIndex < 0 || startIndex > this.Length)
+ {
+ throw new ArgumentOutOfRangeException(nameof(startIndex), SR.ArgumentOutOfRange_Index);
}
- if (count < 0 || count > this.Length - startIndex) {
- throw new ArgumentOutOfRangeException(nameof(count), Environment.GetResourceString("ArgumentOutOfRange_Count"));
+ if (count < 0 || count > this.Length - startIndex)
+ {
+ throw new ArgumentOutOfRangeException(nameof(count), SR.ArgumentOutOfRange_Count);
}
Contract.EndContractBlock();
-
+
return IndexOf(value, startIndex, count, StringComparison.CurrentCulture);
}
[Pure]
- public int IndexOf(String value, StringComparison comparisonType) {
+ public int IndexOf(String value, StringComparison comparisonType)
+ {
return IndexOf(value, 0, this.Length, comparisonType);
}
[Pure]
- public int IndexOf(String value, int startIndex, StringComparison comparisonType) {
+ public int IndexOf(String value, int startIndex, StringComparison comparisonType)
+ {
return IndexOf(value, startIndex, this.Length - startIndex, comparisonType);
}
[Pure]
- public int IndexOf(String value, int startIndex, int count, StringComparison comparisonType) {
+ public int IndexOf(String value, int startIndex, int count, StringComparison comparisonType)
+ {
// Validate inputs
if (value == null)
throw new ArgumentNullException(nameof(value));
if (startIndex < 0 || startIndex > this.Length)
- throw new ArgumentOutOfRangeException(nameof(startIndex), Environment.GetResourceString("ArgumentOutOfRange_Index"));
+ throw new ArgumentOutOfRangeException(nameof(startIndex), SR.ArgumentOutOfRange_Index);
if (count < 0 || startIndex > this.Length - count)
- throw new ArgumentOutOfRangeException(nameof(count), Environment.GetResourceString("ArgumentOutOfRange_Count"));
+ throw new ArgumentOutOfRangeException(nameof(count), SR.ArgumentOutOfRange_Count);
Contract.EndContractBlock();
- switch (comparisonType) {
+ switch (comparisonType)
+ {
case StringComparison.CurrentCulture:
return CultureInfo.CurrentCulture.CompareInfo.IndexOf(this, value, startIndex, count, CompareOptions.None);
@@ -171,8 +186,8 @@ namespace System
return TextInfo.IndexOfStringOrdinalIgnoreCase(this, value, startIndex, count);
default:
- throw new ArgumentException(Environment.GetResourceString("NotSupported_StringComparison"), nameof(comparisonType));
- }
+ throw new ArgumentException(SR.NotSupported_StringComparison, nameof(comparisonType));
+ }
}
// Returns the index of the last occurrence of a specified character in the current instance.
@@ -181,25 +196,28 @@ namespace System
// index within the string.
//
[Pure]
- public int LastIndexOf(char value) {
- return LastIndexOf(value, this.Length-1, this.Length);
+ public int LastIndexOf(char value)
+ {
+ return LastIndexOf(value, this.Length - 1, this.Length);
}
[Pure]
- public int LastIndexOf(char value, int startIndex){
- return LastIndexOf(value,startIndex,startIndex + 1);
+ public int LastIndexOf(char value, int startIndex)
+ {
+ return LastIndexOf(value, startIndex, startIndex + 1);
}
[Pure]
- public unsafe int LastIndexOf(char value, int startIndex, int count) {
+ public unsafe int LastIndexOf(char value, int startIndex, int count)
+ {
if (Length == 0)
return -1;
if (startIndex < 0 || startIndex >= Length)
- throw new ArgumentOutOfRangeException(nameof(startIndex), Environment.GetResourceString("ArgumentOutOfRange_Index"));
+ throw new ArgumentOutOfRangeException(nameof(startIndex), SR.ArgumentOutOfRange_Index);
if (count < 0 || count - 1 > startIndex)
- throw new ArgumentOutOfRangeException(nameof(count), Environment.GetResourceString("ArgumentOutOfRange_Count"));
+ throw new ArgumentOutOfRangeException(nameof(count), SR.ArgumentOutOfRange_Count);
fixed (char* pChars = &m_firstChar)
{
@@ -228,55 +246,61 @@ namespace System
return -1;
- ReturnIndex3: pCh--;
- ReturnIndex2: pCh--;
- ReturnIndex1: pCh--;
- ReturnIndex:
+ ReturnIndex3: pCh--;
+ ReturnIndex2: pCh--;
+ ReturnIndex1: pCh--;
+ ReturnIndex:
return (int)(pCh - pChars);
}
}
-
+
// Returns the index of the last occurrence of any specified character in the current instance.
// The search starts at startIndex and runs backwards to startIndex - count + 1.
// The character at position startIndex is included in the search. startIndex is the larger
// index within the string.
//
-
+
//ForceInline ... Jit can't recognize String.get_Length to determine that this is "fluff"
[Pure]
- public int LastIndexOfAny(char [] anyOf) {
- return LastIndexOfAny(anyOf,this.Length-1,this.Length);
+ public int LastIndexOfAny(char[] anyOf)
+ {
+ return LastIndexOfAny(anyOf, this.Length - 1, this.Length);
}
-
+
[Pure]
- public int LastIndexOfAny(char [] anyOf, int startIndex) {
- return LastIndexOfAny(anyOf,startIndex,startIndex + 1);
+ public int LastIndexOfAny(char[] anyOf, int startIndex)
+ {
+ return LastIndexOfAny(anyOf, startIndex, startIndex + 1);
}
[Pure]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
- public extern int LastIndexOfAny(char [] anyOf, int startIndex, int count);
-
-
+ public extern int LastIndexOfAny(char[] anyOf, int startIndex, int count);
+
+
// Returns the index of the last occurrence of any character in value in the current instance.
// The search starts at startIndex and runs backwards to startIndex - count + 1.
// The character at position startIndex is included in the search. startIndex is the larger
// index within the string.
//
[Pure]
- public int LastIndexOf(String value) {
- return LastIndexOf(value, this.Length-1,this.Length, StringComparison.CurrentCulture);
+ public int LastIndexOf(String value)
+ {
+ return LastIndexOf(value, this.Length - 1, this.Length, StringComparison.CurrentCulture);
}
[Pure]
- public int LastIndexOf(String value, int startIndex) {
+ public int LastIndexOf(String value, int startIndex)
+ {
return LastIndexOf(value, startIndex, startIndex + 1, StringComparison.CurrentCulture);
}
[Pure]
- public int LastIndexOf(String value, int startIndex, int count) {
- if (count<0) {
- throw new ArgumentOutOfRangeException(nameof(count), Environment.GetResourceString("ArgumentOutOfRange_Count"));
+ public int LastIndexOf(String value, int startIndex, int count)
+ {
+ if (count < 0)
+ {
+ throw new ArgumentOutOfRangeException(nameof(count), SR.ArgumentOutOfRange_Count);
}
Contract.EndContractBlock();
@@ -284,17 +308,20 @@ namespace System
}
[Pure]
- public int LastIndexOf(String value, StringComparison comparisonType) {
- return LastIndexOf(value, this.Length-1, this.Length, comparisonType);
+ public int LastIndexOf(String value, StringComparison comparisonType)
+ {
+ return LastIndexOf(value, this.Length - 1, this.Length, comparisonType);
}
[Pure]
- public int LastIndexOf(String value, int startIndex, StringComparison comparisonType) {
+ public int LastIndexOf(String value, int startIndex, StringComparison comparisonType)
+ {
return LastIndexOf(value, startIndex, startIndex + 1, comparisonType);
}
[Pure]
- public int LastIndexOf(String value, int startIndex, int count, StringComparison comparisonType) {
+ public int LastIndexOf(String value, int startIndex, int count, StringComparison comparisonType)
+ {
if (value == null)
throw new ArgumentNullException(nameof(value));
Contract.EndContractBlock();
@@ -305,8 +332,8 @@ namespace System
// Now after handling empty strings, make sure we're not out of range
if (startIndex < 0 || startIndex > this.Length)
- throw new ArgumentOutOfRangeException(nameof(startIndex), Environment.GetResourceString("ArgumentOutOfRange_Index"));
-
+ throw new ArgumentOutOfRangeException(nameof(startIndex), SR.ArgumentOutOfRange_Index);
+
// Make sure that we allow startIndex == this.Length
if (startIndex == this.Length)
{
@@ -321,10 +348,11 @@ namespace System
// 2nd half of this also catches when startIndex == MAXINT, so MAXINT - 0 + 1 == -1, which is < 0.
if (count < 0 || startIndex - count + 1 < 0)
- throw new ArgumentOutOfRangeException(nameof(count), Environment.GetResourceString("ArgumentOutOfRange_Count"));
+ throw new ArgumentOutOfRangeException(nameof(count), SR.ArgumentOutOfRange_Count);
- switch (comparisonType) {
+ switch (comparisonType)
+ {
case StringComparison.CurrentCulture:
return CultureInfo.CurrentCulture.CompareInfo.LastIndexOf(this, value, startIndex, count, CompareOptions.None);
@@ -338,15 +366,15 @@ namespace System
return CultureInfo.InvariantCulture.CompareInfo.LastIndexOf(this, value, startIndex, count, CompareOptions.IgnoreCase);
case StringComparison.Ordinal:
return CultureInfo.InvariantCulture.CompareInfo.LastIndexOf(this, value, startIndex, count, CompareOptions.Ordinal);
-
+
case StringComparison.OrdinalIgnoreCase:
if (value.IsAscii() && this.IsAscii())
return CultureInfo.InvariantCulture.CompareInfo.LastIndexOf(this, value, startIndex, count, CompareOptions.IgnoreCase);
else
return TextInfo.LastIndexOfStringOrdinalIgnoreCase(this, value, startIndex, count);
default:
- throw new ArgumentException(Environment.GetResourceString("NotSupported_StringComparison"), nameof(comparisonType));
- }
+ throw new ArgumentException(SR.NotSupported_StringComparison, nameof(comparisonType));
+ }
}
}
}