Вы можете использовать LINQ, чтобы найти его, а затем напрямую изменить элемент:
var item = TextPool.FirstOrDefault(o => o.Name == "test");
if (item != null)
item.value = "Value";
Если вы хотите изменить все соответствующие элементы, вы можете, потенциально, даже сделать:
TextPool.Where(o => o.Name == "test").ToList().ForEach(o => o.value = "Value");
Однако лично я предпочел бы разделить его, так как я считаю, что второй вариант менее удобен в обслуживании (выполнение операций, которые вызывают побочные эффекты непосредственно в результате запроса, «пахнет» для меня) ...