本文整理汇总了C#中System.Globalization.CompareInfo.LastIndexOf方法的典型用法代码示例。如果您正苦于以下问题:C# CompareInfo.LastIndexOf方法的具体用法?C# CompareInfo.LastIndexOf怎么用?C# CompareInfo.LastIndexOf使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Globalization.CompareInfo
的用法示例。
在下文中一共展示了CompareInfo.LastIndexOf方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AssertLastIndexOf
void AssertLastIndexOf (string message, int expected, string source,
string target, int idx, int len, CompareOptions opt, CompareInfo ci)
{
Assert.AreEqual (expected, ci.LastIndexOf (source, target, idx, len, opt), message);
}
示例2: AsteriskSkip
private static int AsteriskSkip(string Pattern, string Source, int SourceEndIndex, CompareMethod CompareOption, CompareInfo ci)
{
int num2;
int num4;
int num3 = Strings.Len(Pattern);
while (num4 < num3)
{
bool flag;
bool flag2;
bool flag3;
switch (Pattern[num4])
{
case '-':
if (Pattern[num4 + 1] == ']')
{
flag2 = true;
}
break;
case '!':
if (Pattern[num4 + 1] == ']')
{
flag2 = true;
}
else
{
flag3 = true;
}
break;
case '[':
if (flag)
{
flag2 = true;
}
else
{
flag = true;
}
break;
case ']':
if (flag2 || !flag)
{
num2++;
flag3 = true;
}
flag2 = false;
flag = false;
break;
case '*':
if (num2 > 0)
{
CompareOptions ordinal;
if (flag3)
{
num2 = MultipleAsteriskSkip(Pattern, Source, num2, CompareOption);
return (SourceEndIndex - num2);
}
string str = Pattern.Substring(0, num4);
if (CompareOption == CompareMethod.Binary)
{
ordinal = CompareOptions.Ordinal;
}
else
{
ordinal = CompareOptions.IgnoreWidth | CompareOptions.IgnoreKanaType | CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase;
}
return ci.LastIndexOf(Source, str, ordinal);
}
break;
case '?':
case '#':
if (flag)
{
flag2 = true;
}
else
{
num2++;
flag3 = true;
}
break;
default:
if (flag)
{
flag2 = true;
}
else
{
num2++;
}
break;
}
num4++;
}
return (SourceEndIndex - num2);
//.........这里部分代码省略.........
示例3: StandardMatchIndexCalculation
// Returns the index and length of the first or last occurance of one string
// within another string.
private static int StandardMatchIndexCalculation(string textString, string findPattern, bool matchWholeWord, bool matchLast, bool ignoreCase, CompareInfo compareInfo, bool hasPreceedingSeparatorChar, bool hasFollowingSeparatorChar, out int matchLength)
{
CompareOptions options = ignoreCase ? CompareOptions.IgnoreCase : 0;
int matchIndex = -1;
int searchStart = 0;
int searchLength = textString.Length;
matchLength = 0;
while (searchLength > 0)
{
matchIndex = matchLast ?
compareInfo.LastIndexOf(textString, findPattern, searchStart + searchLength - 1, searchLength, options) :
compareInfo.IndexOf(textString, findPattern, searchStart, searchLength, options);
matchLength = findPattern.Length;
if (matchIndex == -1)
{
break;
}
if (!matchWholeWord || IsAtWordBoundary(textString, matchIndex, matchLength, hasPreceedingSeparatorChar, hasFollowingSeparatorChar))
{
break;
}
if (matchLast)
{
searchStart = 0;
searchLength = matchIndex + matchLength - 1;
}
else
{
searchStart = matchIndex + 1;
searchLength = textString.Length - searchStart;
}
matchIndex = -1;
}
return matchIndex;
}
示例4: AssertLastIndexOf
void AssertLastIndexOf (string message, int expected, string source,
char target, int idx, int len, CompareOptions opt, CompareInfo ci)
{
AssertEquals (message, expected,
ci.LastIndexOf (source, target, idx, len, opt));
}