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?嗨,萨曼,这些答案有没有帮助你解决问题?如果是的话,你可以考虑把它标记为接受。这将有助于本帖的未来访问者看到此线程已关闭,并且对他们的问题有明确的解决方案。如果你不知道怎么做可能会有帮助。祝你有一个愉快的一天嗨,萨曼,有没有任何答案可以帮助你解决你的问题?如果是的话,你可以考虑把它标记为接受。这将有助于本帖的未来访问者看到此线程已关闭,并且对他们的问题有明确的解决方案。如果你不知道怎么做可能会有帮助。祝你今天愉快