检查输入字符串,有错

public string exam(string initmorse)
{
while (true)
{
for (int i = 0; i < initmorse.Length; i++)
{
if (initmorse[i] != '*' && initmorse[i] != '-')
{
Console.WriteLine("输入错误,请重新输入:");
initmorse = Console.ReadLine();
}
else
break;
}
break;
}
return initmorse;

}

你想要做什么?输入一个字符串,中间不能有星号和减号么?
可以这么写:

 public static bool exam(string initmorse)
{
return !initmorse.Contains("*") &&  !initmorse.Contains("-");
}
public static void Main()
{
string initmorse = Console.ReadLine();
while (!exam(initmorse))
{
Console.WriteLine("输入错误,请重新输入:");
initmorse = Console.ReadLine();
}
}