確かに、三項演算子を使い、距離の値が範囲外の場合は-1を返すバージョンの関数がここにある：

```csharp
float MapDistanceToRange(float distance)
{
    // Check if distance value is within bounds
    bool outOfRange = (distance < 200f || distance > 300f);

    // Map distance value to 0-1 range or return -1
    float mappedValue = outOfRange ? -1f : (distance - 200f) / 100f;

    return mappedValue;
}
```

このバージョンの関数は、三項演算子を使って距離値が範囲内かどうかをチェックし、それに応じてbool変数outOfRangeをセットする。outOfRangeが真の場合、関数は-1を返す。そうでない場合、距離値は前と同じ式を用いて0-1の範囲にマッピングされ、マッピングされた値が返される。
Certainly, here is a version of the function that uses the ternary operator and returns -1 if the distance value is out of range:

```csharp
float MapDistanceToRange(float distance)
{
    // Check if distance value is within bounds
    bool outOfRange = (distance < 200f || distance > 300f);

    // Map distance value to 0-1 range or return -1
    float mappedValue = outOfRange ? -1f : (distance - 200f) / 100f;

    return mappedValue;
}
```

This version of the function uses the ternary operator to check whether the distance value is within bounds, and sets a bool variable outOfRange accordingly. If outOfRange is true, the function returns -1. Otherwise, the distance value is mapped to the 0-1 range using the same formula as before, and the mapped value is returned.