# Introspection

> USearch for C#

```csharp
DenseIndexDescription description = index.Describe();    // Metadata, size, capacity, memory, capabilities
DenseReachability reachability = index.On(pool).Health();   // Audited, Reachable, Sweeps
ulong stored = index.On(pool).Count(key);                 // Entries under the key; Contains(key) tests for any
string kernels = USearchCapabilities.CapabilitiesAvailable();
```

`Health` audits how much of the graph a search reaches from its landmarks; entries it misses stay unfound until a refinement re-links them.
`USearchCapabilities` also reports the linked library's `Version()` and the `CapabilitiesCompiled()` into it, tied to no index.

`using Cloud.Unum.USearch;`

## Names

The dense spellings of Names.

```csharp
class Names
```

The canonical lowercase, dash-separated spelling of every closed set, read from the C name tables rather than restated here, and the inverse that reads one back.

## Name

Spells a metric kind, as DenseMetric.Inner spells "inner".

```csharp
string Name(this DenseMetric metric);
```

```csharp
string Name(this Status status);
```

Spells a status, as Status.ShapeMismatch spells "shape-mismatch".

```csharp
string Name(this Scalar scalar);
```

Spells a scalar kind, as Scalar.F32 spells "f32".

```csharp
string Name(this Mood mood);
```

Spells a mood, as Mood.Parked spells "parked".

```csharp
string Name(this Residency residency);
```

Spells a residency, as Residency.Vram spells "vram".

```csharp
string Name(this Traversal traversal);
```

Spells a traversal, as Traversal.Scan spells "scan".

Calls `usearch_dense_metric_name`.

- `metric`: The metric kind to spell.
- `status`: The status to spell.
- `scalar`: The scalar kind to spell.
- `mood`: The mood to spell.
- `residency`: The residency to spell.
- `traversal`: The traversal to spell.

## TryParse

Reads a metric kind back from its spelling.

```csharp
bool TryParse(string name, out DenseMetric metric);
```

```csharp
bool TryParse(string name, out Status status);
```

Reads a status back from its spelling.

```csharp
bool TryParse(string name, out Scalar scalar);
```

Reads a scalar kind back from its spelling.

```csharp
bool TryParse(string name, out Mood mood);
```

Reads a mood back from its spelling.

```csharp
bool TryParse(string name, out Residency residency);
```

Reads a residency back from its spelling.

```csharp
bool TryParse(string name, out Traversal traversal);
```

Reads a traversal back from its spelling.

Calls `usearch_dense_metric_from_name`.

- `name`: The canonical spelling.
- `metric`: The metric kind it spells.
- `status`: The status it spells.
- `scalar`: The scalar kind it spells.
- `mood`: The mood it spells.
- `residency`: The residency it spells.
- `traversal`: The traversal it spells.

## USearchCapabilities

Library-wide probes, tied to no index instance.

```csharp
class USearchCapabilities
```

## Version

Reports the version of the linked library.

```csharp
string Version();
```

Calls `usearch_version_name`.

## CapabilitiesCompiled

Lists the hardware capabilities the linked binary was compiled with, comma separated.

```csharp
string CapabilitiesCompiled();
```

Calls `usearch_capabilities_compiled`.

## CapabilitiesAvailable

Lists the hardware capabilities the current machine offers at runtime, comma separated.

```csharp
string CapabilitiesAvailable();
```

Calls `usearch_capabilities_available`.

