になります。コードの目的は、2つ以上のスペースがある位置を削除し、1つのスペースで置き換えることです。int variable = sentence.Lengthは機能しませんが、sentence.Lengthは
static void Main(string[] args)
{
string sentence = Console.ReadLine();
int size = Convert.ToInt16(sentence.Length);
for (int i = 0; i < size - 1; i++)
{
sentence = sentence.Trim();
while ((sentence[i] == ' ') && (sentence[i+1] == ' '))
{
sentence = sentence.Remove(i + 1, 1);
}
}
Console.WriteLine(sentence);
Console.ReadLine();
}
何らかの理由で、2つ以上のスペースをスローすると、このコードは機能しません。 しかし、これは上記のsize変数の代わりにsentence.Lengthを使用すると動作します。
static void Main(string[] args)
{
string sentence = Convert.ToString(Console.ReadLine());
for (int i = 0; i < sentence.Length - 1; i++)
{
while ((sentence[i] == ' ') && (sentence[i + 1] == ' '))
{
sentence = sentence.Remove(i + 1, 1);
}
}
Console.WriteLine("Sentence:{0}", sentence);
Console.ReadLine();
}
なぜ最初のスニペットは機能しませんか。
デバッガを使用してコードをステップ実行します。 – zerkms
途中であなたの 'Convert'呼び出しのどれも必要ありません – Setsu