C#如何将字符串中的第一个字母作为方法中的char返回?

Sam*_*ifa 1 c# methods return char

我正在我班上做作业,问题是:创建一个方法,调用它A,然后让它返回字符串中的第一个字母.

这是我的代码:

{
    String f = "flying";
    String str = A(f);

    Console.WriteLine(str);

    Console.ReadKey();
}


public static string A(string s) 
{
    string first = s.Substring(0, 1);
    return first;       
}
Run Code Online (Sandbox Code Playgroud)

但这是不可接受的,因为我正在回归string而不是回归char.我无法在任何地方找到如何在飞行中返回字母"f" char,我会感激一些帮助.

Mon*_*Zhu 13

基本上一个字符串是一个字符数组,所以如果你把它当成一个并使用[]运算符访问第一个位置:

char c = s[0];
Run Code Online (Sandbox Code Playgroud)

你会得到一个炭.

当然,这会导致问题,如果你的字符串是要么null还是空的.所以你真的应该检查一下这些情况:

char c = !String.IsNullOrWhiteSpace(s) ? : s[0] :  ' ';
Run Code Online (Sandbox Code Playgroud)

另一种可能性就是使用Convert.ToChar方法将其转换为char .这里再次检查是必要的

public static char A(string s) 
{
    return !String.IsNullOrWhiteSpace(s) ? Convert.ToChar(s.Substring(0, 1)) : ' ';
}
Run Code Online (Sandbox Code Playgroud)

旁注:如果你想知道它?是什么关于?:运算符(C#参考)

正如Ehsan Sajjad使用First所指出的应该足够:

return !String.IsNullOrWhiteSpace(s) ? s.First() : ' ';
Run Code Online (Sandbox Code Playgroud)

  • 应该注意的是,它值得检查至少要发送一个字符 (3认同)