本文整理汇总了C#中MutableString.GetCharacters方法的典型用法代码示例。如果您正苦于以下问题:C# MutableString.GetCharacters方法的具体用法?C# MutableString.GetCharacters怎么用?C# MutableString.GetCharacters使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MutableString
的用法示例。
在下文中一共展示了MutableString.GetCharacters方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestChars
private void TestChars(MutableString/*!*/ str, params MutableString.Character[]/*!*/ expected) {
var e = str.GetCharacters();
int i = 0;
while (e.MoveNext()) {
Assert(i < expected.Length);
Assert(e.Current.Equals(expected[i++]));
}
Assert(i == expected.Length);
}
示例2: CharacterSplit
private static RubyArray/*!*/ CharacterSplit(MutableString/*!*/ str, int limit) {
RubyArray result = new RubyArray();
var charEnum = str.GetCharacters();
int i = 0;
while (limit <= 0 || result.Count < limit - 1) {
if (!charEnum.MoveNext()) {
break;
}
result.Add(str.CreateInstance().Append(charEnum.Current).TaintBy(str));
i++;
}
if (charEnum.HasMore || limit < 0) {
result.Add(str.CreateInstance().AppendRemaining(charEnum).TaintBy(str));
}
return result;
}
示例3: EachCodePointImpl
private static object EachCodePointImpl(BlockParam/*!*/ block, MutableString/*!*/ self) {
var enumerator = self.GetCharacters();
while (enumerator.MoveNext()) {
object result;
if (block.Yield(ScriptingRuntimeHelpers.Int32ToObject((int)enumerator.Current.Codepoint), out result)) {
return result;
}
}
return self;
}
示例4: EachCharImpl
private static object EachCharImpl(BlockParam/*!*/ block, MutableString/*!*/ self) {
var enumerator = self.GetCharacters();
while (enumerator.MoveNext()) {
object result;
if (block.Yield(enumerator.Current.ToMutableString(self.Encoding), out result)) {
return result;
}
}
return self;
}
示例5: FirstChar
public static MutableString FirstChar(MutableString/*!*/ self)
{
if (self.IsEmpty) {
return self.Clone();
}
// TODO: optimize
var enumerator = self.GetCharacters();
enumerator.MoveNext();
return enumerator.Current.ToMutableString(self.Encoding);
}
示例6: EachCodePoint
public static object EachCodePoint([NotNull]BlockParam/*!*/ block, MutableString/*!*/ self)
{
var enumerator = self.GetCharacters();
while (enumerator.MoveNext()) {
if (!enumerator.Current.IsValid) {
throw RubyExceptions.CreateArgumentError("invalid byte sequence in {0}", self.Encoding.Name);
}
object result;
if (block.Yield(ScriptingRuntimeHelpers.Int32ToObject((int)enumerator.Current.Codepoint), out result)) {
return result;
}
}
return self;
}