# ReaderInput Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.readerinput/)

## ReadByte {#readbyte-1d783ad4}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.readerinput/methods/readbyte-1d783ad4/)

```csharp
public abstract byte ReadByte()
```

Reads a byte from the input.

### Returns

The byte which was read.

## ReadBytes(Span&lt;byte&gt;) {#readbytes-system-span-byte-3dc5ba13}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.readerinput/methods/readbytes-system-span-byte-3dc5ba13/)

```csharp
public abstract void ReadBytes(Span<byte> destination)
```

Fills the destination span with data from the input.

### Parameters

- `destination` (`Span<byte>`): The destination.

## ReadBytes(byte[], int, int) {#readbytes-byte-array-1-int-int-10e956a4}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.readerinput/methods/readbytes-byte-array-1-int-int-10e956a4/)

```csharp
public abstract void ReadBytes(byte[] destination, int offset, int length)
```

Reads bytes from the input into the destination array.

### Parameters

- `destination` (`byte[]`): The destination array.
- `offset` (`int`): The offset into the destination to start writing bytes.
- `length` (`int`): The number of bytes to copy into destination.

## ReadUInt32 {#readuint32-5717b021}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.readerinput/methods/readuint32-5717b021/)

```csharp
public abstract uint ReadUInt32()
```

Reads a `System.UInt32` from the input.

### Returns

The `System.UInt32` which was read.

## ReadUInt64 {#readuint64-e32e2419}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.readerinput/methods/readuint64-e32e2419/)

```csharp
public abstract ulong ReadUInt64()
```

Reads a `System.UInt64` from the input.

### Returns

The `System.UInt64` which was read.

## Seek(long) {#seek-long-c82b046b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.readerinput/methods/seek-long-c82b046b/)

```csharp
public abstract void Seek(long position)
```

Seeks to the specified position.

### Parameters

- `position` (`long`): The position.

## Skip(long) {#skip-long-81f9f99e}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.readerinput/methods/skip-long-81f9f99e/)

```csharp
public abstract void Skip(long count)
```

Skips the specified number of bytes.

### Parameters

- `count` (`long`): The number of bytes to skip.

## TryReadBytes(int, ReadOnlySpan&lt;byte&gt;) {#tryreadbytes-int-out-system-readonlyspan-byte-d0e7d8ba}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.readerinput/methods/tryreadbytes-int-out-system-readonlyspan-byte-d0e7d8ba/)

```csharp
public abstract bool TryReadBytes(int length, out ReadOnlySpan<byte> bytes)
```

Tries to read the specified number of bytes from the input.

### Parameters

- `length` (`int`): The number of bytes to read..
- `bytes` (`ReadOnlySpan<byte>`): The bytes which were read..

### Returns

`true` if the number of bytes were successfully read, `false` otherwise.
