Как стереть определённую строку

Я знаю какую мне надо стереть строку. Проблема в том что я не могу её стереть. Как бы я не пытался все равно не работает. Если что я работаю с JSON. Мой код:

    public void DeleteSelectLine(float line, float pos, int section)
    {
        string[] str = File.ReadAllLines(path);

        for (int i = 0;i < str.Length; i++)
        {
            _data = JsonUtility.FromJson<SaveData>(str[i]);

            if (_data.line == line & _data.pos == pos & _data.section == section)
            {
                File.WriteAllLines(path, str);
            }
        }
    }

Попытка с списками:

public void DeleteSelectLine(float line, float pos, int section)
    {
        List<string> lines = File.ReadAllLines(path).ToList();

        for (int i = 0;i < lines.Count; i++)
        {
            _data = JsonUtility.FromJson<SaveData>(lines[i]);

            if (_data.line == line & _data.pos == pos & _data.section == section)
            {
                File.WriteAllLines(path, lines);
            }
        }
    }

Вот так выглядеть мой JSON файл

{"line":-1.0,"pos":5.0,"speed":1,"section":1}
{"line":0.0,"pos":4.0,"speed":1,"section":1}
{"line":1.0,"pos":3.0,"speed":1,"section":1}
{"line":0.0,"pos":2.0,"speed":1,"section":1}
{"line":-1.0,"pos":1.0,"speed":1,"section":1}

Ответы (0 шт):