In C#, we have this non-static method on the type string:

```
"abc".ToUpper()

```

but for char, we need to use a static method:

```
char.ToUpper('a')

```

When introducing c# to beginners, they always expect to be able to write the following:

```
'a'.ToUpper()

```

Does anyone have insights as why it was designed like this?

The only thing I can think of is performance but then I would have expected a static ToUpper() for the type string too.