Здесь есть фигурные скобки, потому что реализация ToString анонимного типа, который вы создаете в запросе linq, помещает их туда.
Вот реализация ToString от анонимного типа:
public override string ToString()
{
StringBuilder builder = new StringBuilder();
builder.Append("{ test = ");
builder.Append(this.<test>i__Field);
builder.Append(" }");
return builder.ToString();
}
Если вы хотите вернуть только значение участника, удалите все данные анонимного типа и просто выберите это значение:
var members = from myList in o_data.Descendants(bp + "Reaction")
select myList.Element(bp + "RIGHT").Attribute(rdf + "resource").Value;
return members.ToArray();
Наконец, если вы хотите выбрать несколько значений для каждого элемента (ваш пример кода имеет висячую запятую, которая подразумевает это), определите именованный тип и создайте его экземпляры в запросе. Затем вы можете обратиться к свойствам типа вне метода запроса, потому что массив будет массивом экземпляров этого типа, а не массивом объекта.