我正在根据用户输入的名称编写一个具有不同输出的程序。输出的格式由第一个字母决定,其余的名称在排除第一个字母时使用。基本上我如何创建一个子字符串,所以它遵循这样的东西?
Console.WriteLine("What name would you like to use?(please enter in lower case)");
name = Console.ReadLine();
namelength = name.Length;
letter = name.Substring(0);
restofname = name.Substring(1, namelength);
答案 0 :(得分:1)
你可以这样做:
Console.WriteLine("What name would you like to use?(please enter in lower case)");
name = Console.ReadLine();
letter = name.Substring(0, 1);
restofname = name.Substring(1);
答案 1 :(得分:0)
希望这会有所帮助:
Console.WriteLine("What name would you like to use?(please enter in lower case)");
string name = Console.ReadLine();
string letter = name.Length > 0 ? name.Substring(0, 1): string.Empty;
string restofname = string.IsNullOrEmpty(letter) ? string.Empty : name.Substring(1);
Console.WriteLine(restofname);
答案 2 :(得分:-1)
String
是字符数组,因此您可以使用索引
char letter = name[0];
但你应该检查字符串的长度是否大于0,或者是否为空,所以你的代码应该是这样的
if(!string.IsNullOrEmpty(name) && name.Length>1)
{
char letter = name[0];
......
}
我使用了name.Length > 1
,因为如果名字是1个字符,而不是你没有名字,或第二部分,第二部分可以像
string restofname = name.Substring(1, name.Length);
如果你得到如上所述的其他名称,那么你不必引入额外的变量,它更容易维护。 :)