# BitArrayState Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleans.transactions.testkit.correctnesss.bitarraystate/)

## Apply(BitArrayState, BitArrayState, Func&lt;int, int, int&gt;) {#apply-orleans-transactions-testkit-correctnesss-bitarraystate-orleans-transactio-9ff653ec}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleans.transactions.testkit.correctnesss.bitarraystate/methods/apply-orleans-transactions-testkit-correctnesss-bitarraystate-orleans-transactio-9ff653ec/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions.TestKit.Base/Grains/MultiStateTransactionalBitArrayGrain.cs#L144-L160)

```csharp
public static BitArrayState Apply(BitArrayState left, BitArrayState right, Func<int, int, int> op)
```

### Parameters

- `left` (`BitArrayState`)
- `right` (`BitArrayState`)
- `op` (`Func<int, int, int>`)

## Equals(object) {#equals-object-7fb3a859}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleans.transactions.testkit.correctnesss.bitarraystate/methods/equals-object-7fb3a859/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions.TestKit.Base/Grains/MultiStateTransactionalBitArrayGrain.cs#L37-L40)

```csharp
public override bool Equals(object obj)
```

Determines whether the specified object is equal to the current object.

### Parameters

- `obj` (`object`): The object to compare with the current object.

### Returns

`true` if the specified object is equal to the current object; otherwise, `false`.

## GetEnumerator {#getenumerator-6e3a6bd0}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleans.transactions.testkit.correctnesss.bitarraystate/methods/getenumerator-6e3a6bd0/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions.TestKit.Base/Grains/MultiStateTransactionalBitArrayGrain.cs#L87-L88)

```csharp
public IEnumerator<int> GetEnumerator()
```

## GetHashCode {#gethashcode-727df924}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleans.transactions.testkit.correctnesss.bitarraystate/methods/gethashcode-727df924/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions.TestKit.Base/Grains/MultiStateTransactionalBitArrayGrain.cs#L43)

```csharp
public override int GetHashCode()
```

Serves as the default hash function.

### Returns

A hash code for the current object.

## Set(int, bool) {#set-int-bool-d96f4054}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleans.transactions.testkit.correctnesss.bitarraystate/methods/set-int-bool-d96f4054/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions.TestKit.Base/Grains/MultiStateTransactionalBitArrayGrain.cs#L72-L83)

```csharp
public void Set(int index, bool value)
```

### Parameters

- `index` (`int`)
- `value` (`bool`)

## ToString {#tostring-1c8523cd}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleans.transactions.testkit.correctnesss.bitarraystate/methods/tostring-1c8523cd/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions.TestKit.Base/Grains/MultiStateTransactionalBitArrayGrain.cs#L93-L105)

```csharp
public override string ToString()
```

Returns a string that represents the current object.

### Returns

A string that represents the current object.

## operator &amp;(BitArrayState, BitArrayState) {#op-bitwiseand-orleans-transactions-testkit-correctnesss-bitarraystate-orleans-tr-9ed5f706}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleans.transactions.testkit.correctnesss.bitarraystate/methods/op-bitwiseand-orleans-transactions-testkit-correctnesss-bitarraystate-orleans-tr-9ed5f706/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions.TestKit.Base/Grains/MultiStateTransactionalBitArrayGrain.cs#L139)

```csharp
public static BitArrayState operator &(BitArrayState left, BitArrayState right)
```

### Parameters

- `left` (`BitArrayState`)
- `right` (`BitArrayState`)

## operator |(BitArrayState, BitArrayState) {#op-bitwiseor-orleans-transactions-testkit-correctnesss-bitarraystate-orleans-tra-ac64c710}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleans.transactions.testkit.correctnesss.bitarraystate/methods/op-bitwiseor-orleans-transactions-testkit-correctnesss-bitarraystate-orleans-tra-ac64c710/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions.TestKit.Base/Grains/MultiStateTransactionalBitArrayGrain.cs#L134)

```csharp
public static BitArrayState operator |(BitArrayState left, BitArrayState right)
```

### Parameters

- `left` (`BitArrayState`)
- `right` (`BitArrayState`)

## operator ==(BitArrayState, BitArrayState) {#op-equality-orleans-transactions-testkit-correctnesss-bitarraystate-orleans-tran-8236d0f1}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleans.transactions.testkit.correctnesss.bitarraystate/methods/op-equality-orleans-transactions-testkit-correctnesss-bitarraystate-orleans-tran-8236d0f1/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions.TestKit.Base/Grains/MultiStateTransactionalBitArrayGrain.cs#L116-L119)

```csharp
public static bool operator ==(BitArrayState left, BitArrayState right)
```

### Parameters

- `left` (`BitArrayState`)
- `right` (`BitArrayState`)

## operator ^(BitArrayState, BitArrayState) {#op-exclusiveor-orleans-transactions-testkit-correctnesss-bitarraystate-orleans-t-8d66f87e}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleans.transactions.testkit.correctnesss.bitarraystate/methods/op-exclusiveor-orleans-transactions-testkit-correctnesss-bitarraystate-orleans-t-8d66f87e/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions.TestKit.Base/Grains/MultiStateTransactionalBitArrayGrain.cs#L129)

```csharp
public static BitArrayState operator ^(BitArrayState left, BitArrayState right)
```

### Parameters

- `left` (`BitArrayState`)
- `right` (`BitArrayState`)

## operator !=(BitArrayState, BitArrayState) {#op-inequality-orleans-transactions-testkit-correctnesss-bitarraystate-orleans-tr-33a3b8d5}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleans.transactions.testkit.correctnesss.bitarraystate/methods/op-inequality-orleans-transactions-testkit-correctnesss-bitarraystate-orleans-tr-33a3b8d5/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions.TestKit.Base/Grains/MultiStateTransactionalBitArrayGrain.cs#L124)

```csharp
public static bool operator !=(BitArrayState left, BitArrayState right)
```

### Parameters

- `left` (`BitArrayState`)
- `right` (`BitArrayState`)
