Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#如何在方法中将字符串中的第一个字母作为字符返回?_C#_Methods_Char_Return - Fatal编程技术网

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

C#如何在方法中将字符串中的第一个字母作为字符返回?,c#,methods,char,return,C#,Methods,Char,Return,我在课堂上做作业,问题是: 创建一个方法,将其称为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;

我在课堂上做作业,问题是: 创建一个方法,将其称为
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;       
}

但这是不可接受的,因为我返回的是
字符串
,而不是
字符
。我在任何地方都找不到如何将字母“f”作为
char
返回,我希望能得到一些帮助

字符串基本上是一个字符数组,因此如果您将其视为一个字符并使用以下命令访问第一个位置:

你会得到一个字符

如果字符串是空的,这当然会导致问题。因此,您确实应该检查这些情况:

char c = !String.IsNullOrWhiteSpace(s) ? : s[0] :  ' ';
另一种可能是使用该方法将其转换为char。这里再次检查是必要的

public static char A(string s) 
{
    return !String.IsNullOrWhiteSpace(s) ? Convert.ToChar(s.Substring(0, 1)) : ' ';
}
旁注:如果您想知道
是关于什么的,请查看

正如Ehsan Sajjad所指出的,使用以下各项就足够了:

return !String.IsNullOrWhiteSpace(s) ? s.First() : ' ';

基本上,字符串是一个字符数组,因此如果您将其视为一个字符,并使用以下命令访问第一个位置:

你会得到一个字符

如果字符串是空的,这当然会导致问题。因此,您确实应该检查这些情况:

char c = !String.IsNullOrWhiteSpace(s) ? : s[0] :  ' ';
另一种可能是使用该方法将其转换为char。这里再次检查是必要的

public static char A(string s) 
{
    return !String.IsNullOrWhiteSpace(s) ? Convert.ToChar(s.Substring(0, 1)) : ' ';
}
旁注:如果您想知道
是关于什么的,请查看

正如Ehsan Sajjad所指出的,使用以下各项就足够了:

return !String.IsNullOrWhiteSpace(s) ? s.First() : ' ';

您可以像数组一样索引字符串,因为它只是一个字符数组

public char GetFirstChar(string text)
{
    return text[0];
}
但是您应该记住,当您有一个null或空字符串时,这将导致异常。这就是为什么处理这件事会很好。 您可以使用
字符串.IsNullOrEmpty
进行此操作

这看起来像

public char GetFirstChar(string text)
{
    var result = string.IsNullOrEmpty(text) ? ' ' : text[0];
    return result;
}

您可以像数组一样索引字符串,因为它只是一个字符数组

public char GetFirstChar(string text)
{
    return text[0];
}
但是您应该记住,当您有一个null或空字符串时,这将导致异常。这就是为什么处理这件事会很好。 您可以使用
字符串.IsNullOrEmpty
进行此操作

这看起来像

public char GetFirstChar(string text)
{
    var result = string.IsNullOrEmpty(text) ? ' ' : text[0];
    return result;
}

还有一个名为ToCharArray()的函数,可以对字符串进行调用。从该数组中,您只需获取第一个元素


还有一个名为ToCharArray()的函数,可以对字符串进行调用。从该数组中,您只需获取第一个元素

使用Linq:

public static char A(string s)
{
    if (s == null)
        throw new ArgumentNullException("s");

    return s.DefaultIfEmpty(' ').First();
}
使用Linq:

public static char A(string s)
{
    if (s == null)
        throw new ArgumentNullException("s");

    return s.DefaultIfEmpty(' ').First();
}

应该注意的是,检查至少有1个字符是值得的send@BugFinder谢谢你,我只是在编辑中写下:)是不是
s.First()
就足够了?为什么要转换为
Char
array?应该注意的是,检查是否至少有1个字符要转换send@BugFinder谢谢你,我只是在编辑中写下:)是不是
s.First()
就足够了?为什么要转换为
Char
array?嗨,萨曼,这些答案有没有帮助你解决问题?如果是的话,你可以考虑把它标记为接受。这将有助于本帖的未来访问者看到此线程已关闭,并且对他们的问题有明确的解决方案。如果你不知道怎么做可能会有帮助。祝你有一个愉快的一天嗨,萨曼,有没有任何答案可以帮助你解决你的问题?如果是的话,你可以考虑把它标记为接受。这将有助于本帖的未来访问者看到此线程已关闭,并且对他们的问题有明确的解决方案。如果你不知道怎么做可能会有帮助。祝你今天愉快