LINQ 有关问题求教

LINQ 问题求教
            List<byte> x = new List<byte>();
            x.Add(1);
            x.Add(2);
            x.Add(3);
            x.Add(4);
            x.Add(5);
            var v=x.Where(s => s == 3).ToList();
            v[0]=5;
我想数组x的3改为5。怎么保存修改
------解决思路----------------------

for (int i = 0; i < x.Count; i++)
{
if (x[i] == 3)
{
x[i] = 5;
break;//只需修改第一个就加break,全部改就去掉break
}
}

------解决思路----------------------
兄弟,我要更正你的一个观念,linq主要是用来查询的。linq的方式固然是可以的,但那只是形式主义,反倒效率降低了。
var v = x.Select((p, i) => x[i] == 3 ? 5 : p).ToList();
------解决思路----------------------
修改个值也用linq,东西虽好,但也不能滥用
------解决思路----------------------
杀鸡焉用牛刀
var k = x.IndexOf(3);
if (k >= 0) x[k] = 5;