現在、通常のループを使用して、番号のリストが正しいかどうかを確認しています。
私は現在LINQを学んでおり、LINQで実装して数字のシーケンスが正しい順序であるかどうかを確認する方法を知りたいです。
たとえば、次のシーケンス番号のリストがあります。
1.0
1.1
1.2
1.4
2.0
1.3 がないため、プログラムは行 1.4 にエラーとしてフラグを立てる必要があります。
LINQを使用してそれを達成するにはどうすればよいですか?
ご助力いただきありがとうございます。:)
目次のようなものです:
1.1 の後に 1.3 は無効です。1 の後に 2 は有効です。1.4 の後に 2 が有効です。
これが私が使用しているコードで、まだ多くの失効があると思います:
using (System.IO.StreamReader reader = new System.IO.StreamReader("D:\\test.txt"))
{
double prevNumber = 0;
while (reader.Peek() >= 0)
{
double curNumber = double.Parse(reader.ReadLine());
double x = Math.Round(curNumber - prevNumber, 1);
if (x == 0.1)
{
prevNumber = curNumber;
}
else
{
int prev = (int)Math.Floor(prevNumber);
int cur = (int)Math.Floor(curNumber);
if ((cur - prev) == 1)
{
prevNumber = curNumber;
}
else
{
//error found
}
}
}
}