将用户输入的第一个字母设为大写 ​​C#

0 c# arrays toupper

我正在尝试为我的代码制定一个简单而干净的解决方案,以从用户输入中接收名称,并仅在第一个字母上使用大写字母打印出来。我已经尝试了很长时间但无法找到解决方案,我现在尝试通过使用数组并选择第一个字母来实现它,但我收到此错误消息“方法'ToUpper'没有重载需要0个参数”

** fn[0].ToUpper()** ?

我的代码的图像

   static void Introduce()
    {
        Console.Write("Hi! What is your first name?");
        fn = Console.ReadLine();

        Console.Write("Hi! What is your last name?");
        ln = Console.ReadLine();


        name = fn[0].ToUpper() + " " + ln[0].ToUpper();

        Console.WriteLine(name);

    }
Run Code Online (Sandbox Code Playgroud)

真的很感谢任何帮助!

使用 .ToUpper 并将其放入数组中并选择第一个字母 [0] 但出现错误消息。

Vad*_*nov 7

简单的方法ToUpper:

string firstName = char.ToUpper(fn[0]) + fn.Substring(1);
string lastName = char.ToUpper(ln[0]) + ln.Substring(1);
Run Code Online (Sandbox Code Playgroud)

我们首先使用char.ToUpper方法将名字和姓氏的首字母转换为大写。然后我们使用Substring方法获取名称的剩余部分,从索引 1 开始,并用+运算符连接这两个字符串。

您还可以使用字符串插值和字符串范围:

string firstName = $"{char.ToUpper(fn[0])}{fn[1..]}";
string lastName = $"{char.ToUpper(ln[0])}{ln[1..]}";
Run Code Online (Sandbox Code Playgroud)