Beispiel #1
0
 public MultiStringSplitEnumerable Split(params string[] separators)
 {
     if (separators == null)
     {
         throw new ArgumentNullException("separators");
     }
     StringChunk[] arr = new StringChunk[separators.Length];
     for (int i = 0; i < separators.Length; i++)
     {
         arr[i] = (StringChunk)separators[i];
     }
     return(Split(arr));
 }
Beispiel #2
0
        public int IndexOf(StringChunk value)
        {
            if (value.length > this.length)
            {
                return(-1);
            }
            var e1  = this.GetEnumerator();
            var e2  = value.GetEnumerator();
            int len = this.length - value.length + 1;

            for (int i = 0; i < len; i++)
            {
                if (EqualsChunk(ref e1, ref e2, value.length))
                {
                    return(i);
                }
                else
                {
                    e2.Reset();
                    e1.Position = i + 1;
                }
            }
            return(-1);
        }
 public static TRet Create <TRet>(ref StringChunk reference, Func <StringReference, TRet> outputFunc)
 {
     return(ReferenceAccessor.Create(ref reference, r => outputFunc(Create(r))));
 }
 public static void Create(ref StringChunk reference, Action <StringReference> outputAct)
 {
     ReferenceAccessor.Create(ref reference, r => outputAct(Create(r)));
 }
 public override void Remove(int startIndex, int count)
 {
     Item = Item.ToString().Remove(startIndex, count);
 }
 public override void Replace(string oldValue, string newValue)
 {
     Item = Item.ToString().Replace(oldValue, newValue);
 }
Beispiel #7
0
 public bool Contains(StringChunk value)
 {
     return(IndexOf(value) != -1);
 }
Beispiel #8
0
 public int CompareTo(StringChunk other)
 {
     return(CompareChunk(this.GetEnumerator(), other.GetEnumerator()));
 }
Beispiel #9
0
 public void Dispose()
 {
     disposed = true;
     Source   = default(StringChunk);
 }
Beispiel #10
0
 internal Enumerator(ref StringChunk source) : this()
 {
     this.Source = source;
     this.offset = -1;
 }
Beispiel #11
0
 public bool Equals(StringChunk other)
 {
     return(EqualsChunk(this.GetEnumerator(), other.GetEnumerator()));
 }
Beispiel #12
0
 public SingleStringSplitEnumerable Split(StringChunk separator)
 {
     return(new SingleStringSplitEnumerable(ref this, ref separator));
 }