C# 在C中输入一定长度的字符串时使用Insert#
我想做的是,如果用户输入四个字符,比如0500,我想在第二个字符后添加“:”,这样它就变成了05:00。经过反复试验,它似乎没有正确插入 所以我的部分代码是C# 在C中输入一定长度的字符串时使用Insert#,c#,insert,C#,Insert,我想做的是,如果用户输入四个字符,比如0500,我想在第二个字符后添加“:”,这样它就变成了05:00。经过反复试验,它似乎没有正确插入 所以我的部分代码是 string timeInput = Console.ReadLine(); string[] timeSplit = timeInput.Split(':'); if(timeInput.Length == 4) { // if string = four time
string timeInput = Console.ReadLine();
string[] timeSplit = timeInput.Split(':');
if(timeInput.Length == 4) { // if string = four
timeInput = timeInput.Insert(1, ":");
}
替换
timeInput = timeInput.Insert(1, ":");
与
要在第二个索引处插入:
string 0 5 0 0
index 0|1|2|3|4
如果输入不包含任何“:”,则不能按“:”拆分字符串。因此,您不需要变量
timeSplit
。您可以这样做:
string timeInput = Console.ReadLine();
if (timeInput.Length == 4) // if input = "0500" -> true
timeInput = timeInput.Insert(2, ":");
Console.WriteLine(timeInput); // Output: 05:00
使用
timeInput.Insert(1,“:”)
可以得到“0:500”作为输出。Insert方法的第一个参数是要插入任何字符的索引号,在两位数之后,索引号是2
,因此应该是2
timeInput = timeInput.Insert(2, ":");
为什么要在没有插入:
的地方使用:
拆分输入?innsert后拆分:
我想是正确的
string timeInput = Console.ReadLine();
if(timeInput.Length == 4)
{ // if string = four
timeInput = timeInput.Insert(2, ":");
}
string[] timeSplit = timeInput.Split(':');
字符串中的单个字符称为char
虽然字符串的长度为4,但索引从0开始
string timeInput = "0500"
为其编制索引时,它将如下所示:
string timeInput = Console.ReadLine();
if (timeInput.Length == 4) // if input = "0500" -> true
timeInput = timeInput.Insert(2, ":");
Console.WriteLine(timeInput); // Output: 05:00
时间输入[0]->0
时间输入[1]->5
时间输入[2]->0
时间输入[3]->0
这就是为什么需要将:
放在位置2上的原因
if(timeInput.Length == 4) // if string = four
{
timeInput = timeInput.Insert(2, ":");
}
你错过了正确的索引。它应该是2,而不是1。不要混淆“字符串”和“字符”这两个术语。我已经编辑了你的问题。是的,因为我在这里试图做的是,如果像05:00这样的输入是经过拆分的,但是如果输入了0500,我想将其更改为05:00。哦,我明白了,如果语句出现,我必须声明拆分。是我放1的愚蠢错误,现在才意识到