MongoDB.Bson.RawBsonArray.IndexOf C# (CSharp) Method

IndexOf() public method

Gets the index of a value in the array.
public IndexOf ( BsonValue value, int index, int count ) : int
value BsonValue The value to search for.
index int The zero based index at which to start the search.
count int The number of elements to search.
return int
        public override int IndexOf(BsonValue value, int index, int count)
        {
            ThrowIfDisposed();
            using (var bsonReader = new BsonBinaryReader(new BsonBuffer(CloneSlice(), false), true, _readerSettings))
            {
                bsonReader.ReadStartDocument();
                var i = 0;
                while (bsonReader.ReadBsonType() != BsonType.EndOfDocument)
                {
                    bsonReader.SkipName();
                    if (i >= index)
                    {
                        if (count == 0)
                        {
                            return -1;
                        }

                        if (DeserializeBsonValue(bsonReader).Equals(value))
                        {
                            return i;
                        }

                        count--;
                    }
                    else
                    {
                        bsonReader.SkipValue();
                    }

                    i++;
                }
                bsonReader.ReadEndDocument();

                return -1;
            }
        }

Same methods

RawBsonArray::IndexOf ( BsonValue value ) : int
RawBsonArray::IndexOf ( BsonValue value, int index ) : int